ShellExecute("FORFILES", '/P ..........')
多重双引号嵌套的,里面一层要用两个双引号来代替一个双引号。 本帖最后由 zpmc123 于 2018-1-18 13:29 编辑
回复 1# dnvplj RunWait(@ComSpec & ' /c ' & 'FORFILES /P %WINDIR%\servicing\Packages /M Microsoft-Windows-InternetExplorer-*11.*.mum /c "cmd /c echo Uninstalling package @fname && start /w pkgmgr /up:@fname /quiet /norestart', '', @SW_HIDE)小龙工具转的,试试看行不行! 如果用run就是这样:
Run('FORFILES /P ..........')
与Run('cmd /c ..........')一个道理 回复 17# zpmc123
我注意到了引号问题,现在有时候卸载能成功,有时不行。也和关不关防火墙没什么关系。 回复 16# vuivui
我提供的代码是网上找的,把该代码保存为BAT.BAT,直接运行没问题,就是用AU3调用“bat.bat”文件时不起作用,如“RunWait(@ScriptDir & '\bat.bat', ' ', @SW_HIDE)”。 回复 20# dnvplj
直接运行和au3调用“bat.bat”文件是同一个,也就是同一位置的谢话,你在批处理文件上加上一行:
pause
也就是暂停后,你看看正常运行的时候工作目录是什么?然后在run命令中把该目录加为第二个参数,比如:
RunWait(@ScriptDir & '\bat.bat', ' ')
注意把@SW_HIDE去掉,否则无法看到cmd运行信息。
你把两者信息显示对比一下,就能知道问题所在了。注意查看一下工作目录,au3调用批处理最容易出现的问题就是工作目录不正确,如果工作目录一致的话,效果应该是一样的。
页:
1
[2]