dnvplj 发表于 2018-1-13 23:38:35

运行批处理文件为何无效

本帖最后由 dnvplj 于 2018-1-14 09:19 编辑

下面的代码是卸载IE11,把他保存为:bat.bat文件后,用鼠标双击该文件后能卸载IE11。
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我的问题是:用“RunWait(@ScriptDir & '\bat.bat', ' ', @SW_HIDE)”卸载不了IE11。

kk_lee69 发表于 2018-1-14 00:02:38

回复 1# dnvplj

轉一下運行 A.BAT再由 A.BAT CALLBAT.BAT

dnvplj 发表于 2018-1-14 00:30:50

回复 2# kk_lee69

试下,不行,见下图。

kkkpep 发表于 2018-1-14 18:21:18

编译后试试行否?

dnvplj 发表于 2018-1-14 23:08:10

回复 4# kkkpep
编译后也不行,不知是什么原因?

229989799 发表于 2018-1-15 08:45:09

是不是没有管理员权限运行加个看看?

dnvplj 发表于 2018-1-15 12:05:47

回复 6# 229989799

最上头加上了“#Requireadmin”,编辑后运行,还是不行。

kachiko 发表于 2018-1-16 15:15:28

试下这样
RunWait(@ComSpec & " /c " & @ScriptDir & "\bat.bat")

dnvplj 发表于 2018-1-16 22:26:56

回复 8# kachiko
刚试下,不行。谢谢你的回复。

kachiko 发表于 2018-1-17 10:16:46

回复 9# dnvplj


    报错存储空间不足是什么情况?直接执行bat会这样吗?可以把bat放到其他盘试试哦

dnvplj 发表于 2018-1-17 11:28:58

回复 10# kachiko
直接运行没问题,但我想通过AU3运行他。提示“储空间不足”不知是什么原回,我的C盘是30G的,WIN7x64系统。

cfanpc 发表于 2018-1-17 21:52:19

我直接Run("a.bat"),没有任何问题,你自己试试

vuivui 发表于 2018-1-18 12:56:15

本帖最后由 vuivui 于 2018-1-18 12:59 编辑

你犯了三个错误:
一、“.bat”文件是系统默认的可执行文件,跟exe文件一样直接运行即可。
二、@ScriptDir是目录路径,未包括可执行文件。
三、@ScriptDir是脚本的目录路径,即使加上脚本文件名改为@ScriptFullPath,也是不行的,au3脚本文件不是可执行文件,au3可执行文件目录加文件名应为@AutoItExe,他只能执行au3命令行。

正确方式是:
Run("d:\1.bat")
当然,“.bat”本身就是通过cmd执行的,也可以这样:
Run("cmd /c d:\1.bat")
请参考:
调用cmd(dos)命令详解
http://www.autoit3.cn/thread-9838-1-1.html

vuivui 发表于 2018-1-18 13:17:27

其实,直接执行FORFILES,后面的内容作为参数加上就行了。
比如:
ShellExecute("FORFILES", "/P ..........")
运行批处理文件也可以这样:
ShellExecute("cmd", "/c d:\jb\1.bat")

vuivui 发表于 2018-1-18 13:18:31

14楼所说的意思就是可以不用批处理文件。
页: [1] 2
查看完整版本: 运行批处理文件为何无效