怎么把这段批处理代码转换成VB?
这是一段清除系统的垃圾的批处理,怎么把他转成VB呢?比如我只要按下command1他就执行这段代码。像批处理一样能清除系统垃圾,同时要显示清除的情况。
@echo off
echo 正在清除系统垃圾文件,请稍等......
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*._mp
del /f /s /q %systemdrive%\*.log
del /f /s /q %systemdrive%\*.gid
del /f /s /q %systemdrive%\*.chk
del /f /s /q %systemdrive%\*.old
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
del /f /q %userprofile%\cookies\*.*
del /f /q %userprofile%\recent\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
echo 清除系统LJ完成!
echo. & pause --------------------编程问答-------------------- 顶下 --------------------编程问答-------------------- 存VB实现的话貌似不简单啊 --------------------编程问答-------------------- 帮帮忙啊,谢谢啊 --------------------编程问答-------------------- 把这些内容放在一个批处理文件里面,vb执行这个文件就ok了 --------------------编程问答-------------------- 请问可以用VB来实现这段代码吗 --------------------编程问答-------------------- 我发现有一些命令无法被执行,也就是无法删除某些文件!我想应该是被当前运行的某些或一个程序锁了!
你的要求,我看对我来讲还是比较复杂,因为涉及好多!
但是我的方案你可以参考看看:
一:查找你要删除的所有文件
二:删除的所有文件(无法删除某些文件,可以参考csdn里有一篇文章“在Ring3上实现文件碎甲(解锁)功能”或参考http://tb.blog.csdn.net/TrackBack.aspx?PostId=1810300)
三:在VB程序里显示清除情况,应该是可以全部删除的!
但是代码我没有!看“在Ring3上实现文件碎甲(解锁)功能”着一篇文章,可以做个dll,然后用VB实现就容易多了! --------------------编程问答-------------------- 我猜360粉碎文件,可能也是先给不能被删除的某些文件解锁,然后删除之! --------------------编程问答-------------------- 【CBM666 的清除系统垃圾与_DeskTop蠕虫病毒】
Option Explicit
Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Dim tmpstr$, i%, j%, pf$(26), s
Private Sub Form_Load()
s = GetallDrives
Open "c:\cleantmp.bat" For Output As #1
Print #1, "@echo off"
Print #1, "echo 正在清除系统垃圾文件,请稍等......"
Print #1, "del /f /s /q %systemdrive%\*.tmp"
Print #1, "del /f /s /q %systemdrive%\*._mp"
Print #1, "del /f /s /q %systemdrive%\*.log"
Print #1, "del /f /s /q %systemdrive%\*.gid"
Print #1, "del /f /s /q %systemdrive%\*.chk"
Print #1, "del /f /s /q %systemdrive%\*.old"
Print #1, "del /f /s /q %systemdrive%\recycled\*.*"
Print #1, "del /f /s /q %windir%\*.bak"
Print #1, "del /f /s /q %windir%\prefetch\*.*"
Print #1, "rd /s /q %windir%\temp & md %windir%\temp"
Print #1, "del /f /q %userprofile%\cookies\*.*"
Print #1, "del /f /q %userprofile%\recent\*.*"
Print #1, "del /f /s /q %userprofile%\Local Settings\Temporary Internet Files\*.*"
Print #1, "del /f /s /q %userprofile%\Local Settings\Temp\*.*"
Print #1, "del /f /s /q %userprofile%\recent\*.*"
Print #1, "del %Windir%\ MH_FILE\ MH_DLL.dll"
Print #1, "del %Windir%\MickNew\MickNew.dll"
Print #1, "del %Windir%\TODAYZTKING\TODAYZTKING.DLL"
Print #1, "del %Windir%\1.txt"
Print #1, "del %Windir%\0Sy.exe"
Print #1, "del %Windir%\1Sy.exe"
Print #1, "del %Windir%\2Sy.exe"
Print #1, "del %Windir%\rundl132.exe"
Print #1, "del %Windir%\vDll.dll"
Print #1, "del %Windir%\Dll.dll"
Print #1, "del %Windir%\log_1.exe"
Print #1, "del %Windir%\rundl123.exe"
Print #1, "echo 正在清除_desktop.ini文件,请稍等......"
For i = 0 To UBound(s)
If Trim(s(i)) = "" Then Exit For
Print #1, "del " & Trim(s(i)) & ":\_desktop.ini /f/s/q/a"
Next i
Print #1, "echo 清除完毕!"
Print #1, "echo. & pause"
Close #1
Call Shell("cmd /c " & "c:\cleantmp.bat", vbNormalFocus)
End Sub
Public Function GetallDrives() As String()
j = 0
For i = 65 To 90
tmpstr = Chr(i) & ":\"
If GetDriveType(tmpstr) > 1 And GetDriveType(tmpstr) <> 5 Then pf(j) = Chr(i): j = j + 1
Next i
GetallDrives = pf()
End Function
--------------------编程问答-------------------- 呵呵,L上的朋友真有心,,LZ应该好好想想,为什么人家要把这功能写成批处理,在VB代码里就不能实现
上面的功能吗???? --------------------编程问答-------------------- set fso = createobject("scripting.filesystemobject")
for ...
call fso.deletefile(path,true)
next --------------------编程问答-------------------- 都是很好的建议! 值得学习 --------------------编程问答-------------------- 我也想知道,正在找這方面的資料~~~~~ --------------------编程问答-------------------- 很好 下下来看看 楼主好人啊!!! --------------------编程问答-------------------- 其实你可以直接问 怎么删除一个文件夹所有以tmp为后缀的文件 8楼的大哥真细心 o(∩_∩)o...
补充:VB , 网络编程