for /f "delims=" %%a in ('"%systemRoot%\system32\find.exe" /?') do @echo %%a
是的,上一行工作正常。沒有太大的作用,但有效。但是,試圖寫一個批處理文件來回答另一個問題,我面對像windows cmd:帶有帶引用參數的帶引號的命令的for/f問題
for /f %%a in ('"%systemRoot%\system32\find.exe" /c /v "" ^< "c:\something.txt"') do @echo %%a
for /f %%a in ('"%systemRoot%\system32\find.exe" /c /v "" "c:\something.txt"') do @echo %%a
無論是以前行返回The filename, directory name, or volume label syntax is incorrect
for /f %%a in ('"%systemRoot%\system32\find.exe" /c /v "" ^< c:\something.txt' ) do @echo %%a
for /f %%a in ('"%systemRoot%\system32\find.exe" /c /v "" c:\something.txt' ) do @echo %%a
無論是以前行返回The system cannot find the file specified
我已經無法使其工作,既沒有引用報價,也沒有將它們加倍,在反斜槓前改爲單引號以反引號,並在for
命令中設置相應選項,所有combinati我嘗試失敗。
如果要運行的命令被引用並且需要帶引號的參數,則失敗。
是的,我知道引號surounding不需要的find
,如果刪除,任何先前的四大行就可以了(忽略輸出,delims,代幣)
但在情況下報價完全需要圍繞命令(並且我知道8dot3name
行爲被禁用的系統),有什麼方法可以使其工作?我在這裏錯過了什麼?
+1當然!!我忘了!該命令在新的cmd實例內運行。謝謝。我無法看到這一點。在這種情況下,第二個選項(路徑)被丟棄,因爲原始問題似乎與干擾執行的非本地'find'命令有關。 –
爲了避免擾亂命令中的引用行爲:'in('^「」some cmd.exe「」some | arg「^」')''這可能是一個好主意。另外,我不記得任何細節,但我相信MS文檔中有一個小小的缺陷 - 我不認爲它完全描述了報價行爲。 – dbenham