Ten plik wsadowy (jakikolwiek inny) nie zostanie zamknięty po uruchomieniu, gdy odrodzi się więcej niż jeden.
Jestem doświadczonym programistą MS-DOS / Windows / Java i nigdy wcześniej nie widziałem takiego zachowania. Dzieje się coś bardzo dziwnego i doceniłbym obejście lub kilka wskazówek.
Jako przykład stworzyłem prosty skrypt testowy nietoperza o nazwie hung.bat Pracuję na komputerze z systemem Windows 8.1 (32-bitowym) z wiersza polecenia lub klikając plik:
@ECHO OFF
ECHO WELCOME TO HUNG
pause
ECHO HANGING UP
EXIT (**does not matter if this line is blank or EXIT or GOTO:EOF **)
Wchodzę do każdego terminala i naciskam klawisz, aby kontynuować. Potem wszyscy mówią „WIESZANIE”.
Nie zamkną się i nie zakończą po zakończeniu, jeśli otworzyłem więcej niż jeden. Dzieje się tak, gdy korzystam z polecenia „start hung.bat” z wiersza polecenia lub klikając plik wsadowy.
Zrobiłem ten prosty plik wsadowy, aby debugować problem z usługą serwera, który również mamy - serwer sieciowy używa pliku wsadowego, aby uzyskać pewne dane, a gdy ma wiele sesji, również przestają działać i nie kończą się.
Wydaje się, że dzieje się to niezależnie od pliku Jeśli utworzę dwie kopie pliku hung1.bat i hung2.bat i kliknę raz na każdym z nich, nastąpi takie samo zachowanie!
Inne zachowanie na komputerze domowym Skrypt wsadowy działa na moim domowym komputerze z systemem Windows (Windows 8.1 32-bit), ale nie na moim komputerze roboczym (także Windows 8.1 32-bit, instalacja nowej licencji Windows 8.1). Ale nadal nie działa na moim komputerze roboczym, nawet jeśli jestem administratorem i działam jako administrator.
Wyłączyłem nawet pliki w tym katalogu z Windows Defender.
Jeszcze dziwniejszy Kiedy otworzę dwa lub więcej okien poleceń (polecenie lub kliknij trzy razy), to ostatnie będzie działało poprawnie i zamykało się zgodnie z oczekiwaniami. Ale jeśli kliknę pierwsze okno (tzn. Ostatnie traci fokus), a następnie wrócę do ostatniego, to również nie działa poprawnie!
KONFIGURACJA Mój komputer domowy to Windows 8.1 32-bit, na procesorze AMD Phenom II x4, z 3 GB pamięci RAM. Mój komputer to 32-bitowy system Windows 8.1 z procesorem INter Core-i5-4570, z ramą 4,00 GB (3,32 użyteczne). Oba komputery używają tylko Windows Defender. Dzieje się tak nawet wtedy, gdy Defender jest wyłączony, a funkcja DEP jest włączona lub wyłączona.
AKTUALIZACJA Przeskanowaliśmy system za pomocą MalwareBytes, a także sprawdziliśmy integralność plików w systemie Windows. Wszystko sprawdzone jak poprzednio i problem nadal występuje.
źródło
EXIT
pod poleceniem znajduje się polecenieECHO HANGING UP
(które, jak powiedziałeś, zostanie wykonane), wydaje się, że powinno ono zakończyć się.GOTO
nie rozpozna już:EOF
faktu usunięcia etykiety . Uznany za bezużyteczny przez OP.Odpowiedzi:
To był LogMeIn ...
Gdy zdalny użytkownik jest podłączony, zmienia zachowanie okna powłoki poleceń, aby nie zamykało się po zakończeniu skryptu - nawet jeśli skrypt jest wywoływany ze skrótu lub wywoływany w osobnym oknie za pomocą „start ... „
Odkryliśmy, że odłączyłem zdalnego użytkownika, a następnie wykonałem te same skrypty wsadowe i problem został rozwiązany.
ShowMyPc działało jednak dobrze. Nie testowaliśmy zdalnego komputera z systemem Windows.
LogMeIn jest więc winowajcą ...
źródło