这个 Forfiles 命令语法有什么错误?

这个 Forfiles 命令语法有什么错误?

我试图发出以下 FORFILES 命令,但收到了一个令我苦恼的错误(在命令后列出)。


C:\Windows\system32>FORFILES /P %WINDIR%\servicing\Packages /M Microsoft-Windows-InternetExplorer-*9.*.mum /c "cmd /c echo Uninstalling package @fname && start /w pkgmgr /up:@fname /norestart"

ERROR: Invalid syntax. '/c' option is not allowed more than '1' time(s). Type "FORFILES /?" for usage.


我已经检查过该命令几次,它似乎是正确的,但显然不是。我已经验证了路径和参数。我在 Windows 7 32 位 SP1 上以管理员身份运行命令行。任何见解都将不胜感激。

答案1

我认为您将语法复制并粘贴到了 cmd 中。您可能遇到了智能引号问题。自己重新输入脚本,而不是复制并粘贴。或者复制到记事本,删除引号,然后放回引号。然后将其复制并粘贴到 cmd。听起来很傻,但这是一个已知问题。

答案2

您必须使用 Escape-Sign ^ 来表示其他一些符号,例如:

FORFILES /P "%WINDIR%\servicing\Packages" /M "Microsoft-Windows-InternetExplorer-*9.*.mum" /c "cmd ^/c echo ^"Uninstalling package @fname^" ^&^& start ^/w pkgmgr ^/up:@fname ^/norestart"

那么它应该可以工作。我没有用你的线路尝试,但有时会遇到同样的错误。

相关内容