主题:求助
小楼西风
[专家分:0] 发布于 2008-09-24 08:59:00
请教高手:如何用vb调用shell函数来实现批处理的自动执行,请高手指点,有源代码更好!谢谢!
回复列表 (共1个回复)
沙发
一江秋水 [专家分:9680] 发布于 2008-09-25 09:09:00
'If SH = 0 Then 发生了错误
SH = Shell("regsvr32 /s softpub.dll", 0) '注册softpub.dll
SH = Shell("cmd.exe /c del /F /Q " & "D:\12345\*.*", 0) '删除D盘12345文件夹中的所有文件
SH = Shell("regedit.exe /s " & App.Path & "\" & "100.reg", 0)'导入.reg文件(注册表文件)
SH = Shell("chkntfs.exe /t:0") '减少开机时磁盘扫描时间
SH = Shell("chkntfs.exe /x c: d: e: f: g: h:") '开机时不进行磁盘扫描
第二个用的是dos命令,所以要调用cmd.exe,批处理(bat文件)参照此:
SH = Shell("cmd.exe /c D:\purge.bat",0) '运行 D盘根目录下的purge.bat文件
注意一点:dos文件名是8.3格式
purge.bat文件内容如下:
@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 s\*.*
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\*.*"
sfc /purgecache '清理系统盘无用文件
defrag %systemdrive% -b '优化预读信息
echo 清除系统完成!
echo. & pause
这是一键清除系统垃圾.bat批处理文件,放心运行,没事!
*.tmp是临时文件
temp是temp文件夹内的所有文件,也是临时文件,可以删除。
cookies文件夹里面就是IE缓存记录,就是cookies文件.
cookies\*.* 就是文件夹中的所有文件...
f,s,q是一些参数..
%systemdrive% - 系统安装目录。比如,你要打开c盘下的boot.ini,可以这么写
%systemdrive%\boot.ini
%userprofile% - 用户配置文件存放的地方
%systemroot% - windows目录的位置
我来回复