7

次の Windows Server 2k3 バッチ コマンドで文字列またはスペースをエスケープすることについて、何か (明らかな?) がありません。

FORFILES -m *.wsp -c "CMD /C C:\Program^ Files\Common^ Files\Microsoft^ Shared\web^ server^ extensions\12\bin\stsadm.exe^ -o^ addsolution^ -filename^ @FILE"

次のエラーが発生します

'C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\bin\stsadm.exe -o addsolution -filename "foobar.wsp"' is not recognized as an internal or external command,operable program or batch file.

しかし、理由がわかりません。サイモン・シェパード氏の優れたドキュメントに取り組んでいます

4

2 に答える 2

10

パスは引用符で囲む必要があり、引用符はエスケープする必要があります。

FORFILES -m *.wsp -c "CMD /C ^0x22C:\Program^ Files\Common^ Files\Microsoft^ Shared\web^ server^ extensions\12\bin\stsadm.exe^0x22 -o^ addsolution^ -filename^ @FILE"

同僚が 16 進数を " に使用することを提案しましたが、最終的に 16 進数をエスケープする必要があることがわかりました。

于 2009-02-03T21:17:08.363 に答える
2

もう 1 つの考えられる答えは、dir /X を実行して取得した古い 8.3 名を使用することです。

同様に: C:\Program Files の代わりに C:\PROGRA~1。

于 2009-03-07T01:35:02.200 に答える