이상하게 작동하는 Server 2012 R2 Standard 64 비트 가상 머신이 있습니다. 박쥐 파일이 제대로 작동하고 CMD 창이 정상적으로 닫힙니다. 그러나 bat 파일을 실행하는 동안 bat 파일이 들어있는 폴더가 닫히면 종료되지만 CMD 창이 닫히지 않습니다. 나는 가능한 가장 간단한 bat 파일을 갖기 위해 이것을 단순화했습니다. 한 줄이 들어 있습니다. 중지
- Windows 탐색기로 bat 파일이 들어있는 폴더를 엽니 다
- 박쥐 파일을 두 번 클릭하여 시작하십시오.
- Windows 탐색기 창을 닫습니다
- CMD 창에서 아무 키나 누르십시오
- 박쥐 파일이 완료되면 커서가 다음 줄로 이동합니다
- CMD 창이 유지됩니다
이것은 하나의 컴퓨터에서만 발생합니다. 이것이 왜 그런지 아는 사람이 있습니까? 테스트 VM이며 아마도 다시 빌드해야하지만 궁금합니다. 감사
간단한 bat 파일을 다음을 포함하는 파일로 교체했습니다.
@assoc .bat
@for /F "tokens=1,* delims==" %%G in ('assoc .bat') do @ftype %%H
@reg query "HKLM\Software\Microsoft\Command Processor" /v AutoRun 2>NUL
@reg query "HKCU\Software\Microsoft\Command Processor" /v AutoRun 2>NUL
@wmic process where "caption = 'cmd.exe'" get CommandLine, ParentProcessId, ProcessID
@echo please close Windows Explorer before continuing
@pause
@wmic process where "caption = 'cmd.exe'" get CommandLine, ParentProcessId, ProcessID
@pause
결과는 아래와 같습니다 :
.bat=batfile
batfile="%1" %*
CommandLine ParentProcessId ProcessId
C:\Windows\system32\cmd.exe /c ""D:\test.bat" " 1608 8460
please close Windows Explorer before continuing
Press any key to continue . . .
CommandLine ParentProcessId ProcessId
C:\Windows\system32\cmd.exe /c ""D:\test.bat" " 1608 8460
Press any key to continue . . .
커맨드 라인
2016 년 4 월 13 일 나는 이것을하는 동안 작업 관리자를보고 조금 더 알아 냈습니다. bat 파일을 시작하면 작업 관리자-세부 정보 창에 2 줄이 나타납니다. 1은 cmd.exe의 경우, 1은 conhost.exe의 경우입니다. 박쥐가 끝나면 cmd.exe는 사라지지만 conhost.exe는 남아 있습니다. 내가 알았던 또 다른 것은 이전에 언급 한 것처럼 Windows 탐색기 폴더를 실제로 종료 할 필요가 없다는 것입니다 ... 탐색기 창의 아무 곳이나 클릭하면됩니다. 탐색기 창의 아무 곳이나 클릭하지 않으면 bat 파일의 CMD 창이 정상적으로 닫히고 예상대로 세부 정보 창에서 두 작업이 사라집니다.
exit
CMD 창을 닫는 명령을 명시 적으로 언급 한 해결 방법과 마찬가지로 VM 중 하나에서도 동일한 문제가 발생했습니다 . 도움이 될 수 있습니다.