我在Windows 7旗艦版的FOR命令中執行其他命令時遇到問題。 for-command是批處理文件的一部分,應解析另一個命令的輸出。Windows批處理:使用FOR/F執行命令 - 「找不到命令」
一般這樣:
for /f %%a IN ('tasklist') DO echo %%a
應執行命令「任務列表」和輸出經由回聲其結果。 但我總是得到「命令未找到」。
我試圖執行forloop以外的命令,它的工作原理。 我也嘗試在for中執行大量的外部命令,但是每個命令都顯示「找不到命令」。
我也試過這個帖子的例子:
Batch: Execute command with quotes in for loop with piping to find
我真的確信
- 該命令存在
- 我已閱讀並執行它的權利
- 我的用戶在管理員組
- 我跑t他以「以管理員身份運行」命令
但是這臺電腦沒有任何工作。 相同的命令可以在另一臺PC上運行,這也是Windows 7的終極版本。
那麼有沒有人有一個想法可能是錯誤的PC上找不到所有的命令?
這是我用控制檯輸出命令「ls」試用時的一個例子。 ls.exe是gun4win項目的可執行文件,它位於運行批處理文件的同一文件夾中。 窗戶是德語,所以錯誤輸出也是德語。
C:\測試> test_for.bat
C:\test>rem --- test a command stand-alone ---
C:\test>ls
ls.exe test_for.bat
C:\test>rem --- test same command in a FOR-Loop ---
C:\test>for /F "delims=" %a in ('ls') do echo FOR-OUTPUT: %a
Der Befehl "ls" ist entweder falsch geschrieben oder konnte nicht gefunden
werden.
FINAL編輯: 問題是該系統envoirement變量 「COMSPEC」 爲錯誤的值。
我將ComSpec的「Erweiterte Systemeigenschaften-> Erweitert-> Umgebungsvariaben-> Systemvariablen」更改爲「C:\ Windows \ system32 \ cmd.exe」,問題解決了。
感謝@foxidrive和@jeb
貴得離譜pt使用名稱爲'path'的變量? – foxidrive
...或「pathext」?你可以嘗試執行'%SystemRoot%\ System32 \'目錄中的腳本,其中'tasklist'命令位於... – aschipfl
這不適用於命令所在的位置。我甚至嘗試了一個命令,它放置在像我的批處理文件一樣的文件夾中。它說「一切都找不到」。但我可以執行for的所有外部命令。只有在找不到任何指令 – Radon8472