怎样用VBS的脚本来删除文件
由于我是菜鸟,所以我不知道我这个标题写的合不合理,我想问的是我知道有种类似与BAT文件的后缀名为VBS的文件,他也可以执行一些命令。现在我想用VBS这种文件来做一个删除比...
由于我是菜鸟,所以我不知道我这个标题写的合不合理,我想问的是我知道有种类似与BAT文件的后缀名为VBS的文件,他也可以执行一些命令。现在我想用VBS这种文件来做一个删除比如C:\WINDOWS\system32\dllcache\aaa.dll,我用这个dllcache作为比喻是因为这个文件夹是系统隐藏了的文件夹,我要删除的文件也在这种文件夹里。还有这个VBS要隐藏运行。
我还有个疑惑是VBS是不是只能在2000以上的机器上运行??而DOS或者以前的98系统之类的不能运行啊???
请帮我写一下代码,谢谢,就比如我要删除C:\WINDOWS\system32\dllcache\aaa.dll,代码该怎么写?1,2楼回答都不是我直接需要的。1楼的还好象直接不知道哪 去抄了些BAT的批处理命令来。再菜这个我还是能分清嘛。。。
哎````等了一天都没有答案,三了楼的代码根本无法找到需要删除的文件,我已经自己学会了,花了我几个小时,本来想关闭问题的,算了,再等几天吧,如果有谁能写出好点的代码(因为我现在学会的这个不知道格式正不正确,反正在我本机可以运行,其他机器不知道行不行),把C:\WINDOWS转换成系统变量%systemroot%来执行,我试了像BAT文件那样直接用%systemroot%来代替C:\WINDOWS在VBS里是不行的,后来找到一个方法,但是我还是想看看大家的代码,达成以上两个条件我就把分给谁了。现在百度上高手越来越少了。。。。大众问题如果是200分不知道有多少人回答。 展开
我还有个疑惑是VBS是不是只能在2000以上的机器上运行??而DOS或者以前的98系统之类的不能运行啊???
请帮我写一下代码,谢谢,就比如我要删除C:\WINDOWS\system32\dllcache\aaa.dll,代码该怎么写?1,2楼回答都不是我直接需要的。1楼的还好象直接不知道哪 去抄了些BAT的批处理命令来。再菜这个我还是能分清嘛。。。
哎````等了一天都没有答案,三了楼的代码根本无法找到需要删除的文件,我已经自己学会了,花了我几个小时,本来想关闭问题的,算了,再等几天吧,如果有谁能写出好点的代码(因为我现在学会的这个不知道格式正不正确,反正在我本机可以运行,其他机器不知道行不行),把C:\WINDOWS转换成系统变量%systemroot%来执行,我试了像BAT文件那样直接用%systemroot%来代替C:\WINDOWS在VBS里是不行的,后来找到一个方法,但是我还是想看看大家的代码,达成以上两个条件我就把分给谁了。现在百度上高手越来越少了。。。。大众问题如果是200分不知道有多少人回答。 展开
展开全部
vbs有些功能确实只能在Windows XP 或 Windows Server 2003 下运行
1 删除C:\WINDOWS\system32\dllcache\aaa.dll
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFile("C:\WINDOWS\system32\dllcache\aaa.dll"), True
2 删除指定目录下文件
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFile("C:\FSO\*.txt"), True
3 删除文件夹
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFolders = objWMIService.ExecQuery _
("Select * from Win32_Directory where Name = 'c:\\Scripts'")
For Each objFolder in colFolders
errResults = objFolder.Delete
Wscript.Echo errResults
Next
4 还可以模糊匹配
返回所有路径以 C:\S 开头的文件夹的列表。
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFolders = objWMIService.ExecQuery _
("Select * from Win32_Directory where Name Like '%c:\\S%'")
For Each objFolder in colFolders
Wscript.Echo "Name: " & objFolder.Name
Next
1 删除C:\WINDOWS\system32\dllcache\aaa.dll
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFile("C:\WINDOWS\system32\dllcache\aaa.dll"), True
2 删除指定目录下文件
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFile("C:\FSO\*.txt"), True
3 删除文件夹
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFolders = objWMIService.ExecQuery _
("Select * from Win32_Directory where Name = 'c:\\Scripts'")
For Each objFolder in colFolders
errResults = objFolder.Delete
Wscript.Echo errResults
Next
4 还可以模糊匹配
返回所有路径以 C:\S 开头的文件夹的列表。
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFolders = objWMIService.ExecQuery _
("Select * from Win32_Directory where Name Like '%c:\\S%'")
For Each objFolder in colFolders
Wscript.Echo "Name: " & objFolder.Name
Next
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
命令行删除命令,也可用做批处理
DEL用于删除一个或者多个文件,参数如下:
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
names 指定一个或数个文件或目录列表。通配符可被用来
删除多个文件。如果指定了一个目录,目录中的所
有文件都会被删除。
/P 删除每一个文件之前提示确认。
/F 强制删除只读文件。
/S 从所有子目录删除指定文件。
/Q 安静模式。删除全局通配符时,不要求确认。
/A 根据属性选择要删除的文件。
attributes R 只读文件 S 系统文件
H 隐藏文件 A 存档文件
- 表示“否”的前缀
如果命令扩展名被启用,DEL 和 ERASE 会如下改变:
/S 开关的显示句法会颠倒,即只显示已经
删除的文件,而不显示找不到的文件。
例子:DEL /f D:\1.jpg
如果删除一个目录下的所有文件可以至少有三种方法
1:DEL D:\A\*.*
2: DEL D:\A
3:使用rd命令,rd命令是删除目录用的命令
比如 rd /s /q D:\A
rd命令参数如下
删除一个目录。
RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path
/S 除目录本身外,还将删除指定目录下的所有子目录和
文件。用于删除目录树。
/Q 安静模式,带 /S 删除目录树时不要求确认
DEL用于删除一个或者多个文件,参数如下:
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
names 指定一个或数个文件或目录列表。通配符可被用来
删除多个文件。如果指定了一个目录,目录中的所
有文件都会被删除。
/P 删除每一个文件之前提示确认。
/F 强制删除只读文件。
/S 从所有子目录删除指定文件。
/Q 安静模式。删除全局通配符时,不要求确认。
/A 根据属性选择要删除的文件。
attributes R 只读文件 S 系统文件
H 隐藏文件 A 存档文件
- 表示“否”的前缀
如果命令扩展名被启用,DEL 和 ERASE 会如下改变:
/S 开关的显示句法会颠倒,即只显示已经
删除的文件,而不显示找不到的文件。
例子:DEL /f D:\1.jpg
如果删除一个目录下的所有文件可以至少有三种方法
1:DEL D:\A\*.*
2: DEL D:\A
3:使用rd命令,rd命令是删除目录用的命令
比如 rd /s /q D:\A
rd命令参数如下
删除一个目录。
RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path
/S 除目录本身外,还将删除指定目录下的所有子目录和
文件。用于删除目录树。
/Q 安静模式,带 /S 删除目录树时不要求确认
参考资料: http://www.welos.cn/thread-359-1-6.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看代码:
filename="您要删除的文件"
set fso=createobject("scripting.filesystemobject")
set file=fso.getfile(filename)
file.attributes=0
file.delete
filename="您要删除的文件"
set fso=createobject("scripting.filesystemobject")
set file=fso.getfile(filename)
file.attributes=0
file.delete
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
VBS代码跟VB差不多,应该用KILL吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Dim fso,f2
Set fso = CreateObject("Scripting.FileSystemObject")
Set f2 = fso.GetFile("C:\WINDOWS\system32\dllcache\aaa.dll")
f2.Delete
Set fso = CreateObject("Scripting.FileSystemObject")
Set f2 = fso.GetFile("C:\WINDOWS\system32\dllcache\aaa.dll")
f2.Delete
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询