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.
GOTOnie rozpozna już :EOF faktu usunięcia etykiety . Uznany za bezużyteczny przez OP.
EXITpod poleceniem znajduje się polecenieECHO HANGING UP(które, jak powiedziałeś, zostanie wykonane), wydaje się, że powinno ono zakończyć się.