回 帖 发 新 帖 刷新版面

主题:求助

请教高手:如何用vb调用shell函数来实现批处理的自动执行,请高手指点,有源代码更好!谢谢!

回复列表 (共1个回复)

沙发

'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目录的位置 

我来回复

您尚未登录,请登录后再回复。点此登录或注册