Mam problem z wykonaniem innego polecenia w FOR polecenie w Windows 7 Ultimate. For-command jest częścią pliku wsadowego i powinno analizować dane wyjściowe innego polecenia.Windows Batch: Wykonywanie polecenia z FOR/F - "command not found"
Zwykle:
for /f %%a IN ('tasklist') DO echo %%a
należy wykonać polecenie "Lista zgłoszeń" i wyjście jego wyników przez echo. Ale zawsze otrzymuję polecenie "nie znaleziono polecenia".
Próbowałem wykonać polecenie poza pętlą forloop i to działa. Próbowałem również wykonywać wiele zewnętrznych poleceń w obrębie for, ale każde polecenie powiedziało "command not found".
Próbowałem też przykłady tego posta:
Batch: Execute command with quotes in for loop with piping to find
I`m pewien
- że polecenia istnieje
- , że przeczytałem i wykonywania prawa do niego
- , że mój użytkownik jest w grupie administratorów
- , w której działam t komenda "Uruchom jako Administrator"
Ale nic nie działa na tym komputerze. Te same polecenia działają na innym komputerze, na którym działa także system operacyjny Windows 7 ultimate.
Czy ktoś może pomylić pomysł na komputerze, na którym nie znaleziono wszystkich poleceń?
Oto przykład moich wyjść konsoli, gdy próbuję go za pomocą polecenia "ls". ls.exe jest plikiem wykonywalnym z projektu gun4win i znajduje się w tym samym folderze, w którym działa mój plik wsadowy. Okna są w języku niemieckim, więc wynik błędu jest również w języku niemieckim.
C: \ test> 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 EDIT: Problemem było tak źle wartość zmiennej systemowej envoirement "COMSPEC".
Zmieniłem ComSpec w "Erweiterte Systemeigenschaften-> Erweitert-> Umgebungsvariaben-> Systemvariablen" na "C: \ Windows \ system32 \ cmd.exe" i problem został rozwiązany.
Dzięki @foxidrive i @jeb
Czy Twój SCRi pt użyć zmiennej o nazwie 'path'? – foxidrive
... lub "pathext"? możesz spróbować wykonać skrypt w katalogu '% SystemRoot% \ System32 \', gdzie znajduje się polecenie 'tasklist' ... – aschipfl
To nie ma znaczenia, gdzie znajduje się polecenie. Próbowałem nawet polecenia, które leży w tym samym folderze, co mój plik wsadowy. Mówi "nie znaleziono comand" na wszystko. Ale mogę wykonać wszystkie polecenia poza zakładem. Tylko w ciągu bez komandu znajduje się – Radon8472