Take excruciatingly prosty plik wsadowy:administratora do pliku wsadowego z podwójnymi notowanych parametrów
echo hi
pause
Zapisz że TEST.BAT. Teraz skróć do test.bat. Skrót uruchamia plik wsadowy, który drukuje "hi", a następnie oczekuje na naciśnięcie klawisza zgodnie z oczekiwaniami. Teraz dodaj argument do celu skrótu. Teraz masz skrót do:
%path%\test.bat some args
Skrót uruchamia plik wsadowy jak poprzednio.
Teraz uruchom skrót jako administrator. (Przy okazji jest to w systemie Windows 7). Możesz użyć prawego klawisza -> Uruchom jako administrator lub przejść do właściwości skrótu i zaznaczyć pole w sekcji zaawansowanej. Poinformuj UAC, że jest w porządku i po raz kolejny skrót uruchamia plik wsadowy zgodnie z oczekiwaniami.
Teraz zmień argumenty w celu skrótu, aby dodać cudzysłów:
%path%\test.bat "some args"
Teraz spróbuj skrót jako administrator. To nie działa tym razem! Pojawi się okno poleceń i znika zbyt szybko, aby zobaczyć jakikolwiek błąd. Próbowałem dodać> test.log 2> & 1 do skrótu, ale w tym przypadku nie jest tworzony żaden dziennik.
Spróbuj uruchomić ten sam skrót (z podwójnym cudzysłowem), ale nie jako Administrator. Uruchamia plik wsadowy dobrze. Wygląda więc na to, że zachowanie nie jest spowodowane podwójnymi parametrami, a nie dlatego, że działa jako Administrator. To dziwna kombinacja obu.
Próbowałem również uruchomić tę samą komendę w oknie poleceń administratora. Spowoduje to uruchomienie pliku wsadowego zgodnie z oczekiwaniami bez błędu. Uruchomienie skrótu z okna poleceń wywołało nowe okno poleceń, które błysnęło i odjechało. Najwyraźniej problem spowodowany jest kombinacją administratora, skrótu i podwójnych cudzysłowów.
Jestem całkowicie zaskoczony, czy ktoś ma pojęcie, co się dzieje? Chciałbym również obejść.
co zrobić, gdy uruchomisz faktyczne polecenie w wierszu poleceń. '% ścieżka% \ test.bat" niektóre argumenty "'. co widziałeś? – ghostdog74
podczas uruchamiania z wiersza poleceń plik wsadowy drukuje "hi", a następnie czeka na naciśnięcie klawisza, jak można się było spodziewać. – XXB