2009-02-03 66 views
6

我在下面的Windows Server 2k3批處理命令中丟失了一些關於轉義我的字符串或空格的內容(顯而易見)。如何告訴FORFILES在路徑上執行命令?

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共享\ web服務器extensions \ 12 \ BIN \的Stsadm.exe -o addsolution -filename「foobar的。 wsp「'不被識別爲內部或外部命令,可操作程序或批處理文件。

但我不明白爲什麼。我正在關閉Mr. Simon Sheppard's fine documentation

回答

9

路徑需要引用,報價必須轉義。

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" 

一位同事使用」十六進制的建議,我最終想通了,六角需要逃逸。

+0

謝謝!你救了我。 – guanome 2013-05-03 18:55:44

2

另一種可能的答案是做DIR/X使用舊的8.3名你。

贊:C:\ PROGRA〜1代替C:\ Program Files。

相關問題