web-dev-qa-db-ja.com

この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 732ビットSP1で管理者としてコマンドラインを実行しています。任意の洞察をいただければ幸いです。

2
Zach L

構文をコピーしてcmdに貼り付けたと思います。あなたはおそらくスマートクォートの問題に直面しています。コピーして貼り付けるのではなく、自分でスクリプトを再入力します。または、メモ帳にコピーし、引用符を消去してから、引用符を元に戻します。次に、それをコピーしてcmdに貼り付けます。ばかげているように聞こえますが、これは既知の問題です。

3
jmc302005

次のような他の記号には、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"

それが動作するはずより。私はあなたのラインでそれを試しませんが、時々同じエラーが発生します。

1
Mae