다음과 같은 배치 파일이 있습니다.
cd C:\Some\Folder
wperl SomePerlScript.pl %*
exit 0
이는 기본적으로 perl.exe가 내 데스크탑에 떠다니는 성가신 명령 프롬프트 창을 남겨둔다는 사실을 해결하도록 설계되었습니다. 나는 이 스크립트가 나를 방해하지 않고 백그라운드에서 실행되기를 원합니다.
하지만 이렇게 하면 작업 관리자에 스크립트 이름 대신 "wperl.exe"가 표시됩니다. 프로세스에 사용자 정의 이름을 지정하여 그것이 무엇인지 기억하고 시작할 수 있는 다른 wperl.exe 프로세스와 혼동되지 않도록 할 수 있는 방법이 있습니까?
답변1
wperl은 스크립트에 포함된 명령을 실행하는 프로세스입니다. FreudianSlip의 방법은 작동하지만(명령을 실행하는 실행 파일의 이름을 변경하기 때문에) 이를 처리하는 방법은 해킹적입니다.
당신은 더 나은Perl2Exe
스크립트를 작성하세요. perl2exe로 변환하세요:
perl2exe script.pl
script.exe라는 실행 파일을 얻게 됩니다.
실행 파일을 실행하면 작업 관리자에 script.exe로 표시됩니다.
팝업 창을 피하려면 다음을 사용할 수 있습니다.조용한(perl2exe 프로 버전이 이 작업을 수행하지만 Quiet이 무료인데 왜 추가 비용을 지불합니까?)
배치 파일은 다음과 같이 실행 파일을 호출합니다.
quiet script.exe
이제 작업 관리자에 이름별로 표시되는 자동 실행 버전의 스크립트가 생겼습니다.
답변2
우리는 이것을 약간 지저분하게 만듭니다. 실제로는 wperl.exe의 복사본을 좀 더 명확한 것으로 만듭니다(예: someperlscript.exe).
cd C:\Some\Folder
copy c:\perl\bin\wperl.exe c:\perl\bin\someperlscript.exe
someperlscript.exe SomePerlScript.pl %*
del c:\perl\bin\someperlscript.exe
exit 0
탄력성 등을 위해 약간의 작업이 필요하지만 요점은 알 수 있습니다.
답변3
Start.exe
창 제목을 지정하고 프로그램을 시작하는 데 사용할 수 있습니다 . 그럼 다음과 같이 시도해 보세요:
cd C:\Some\Folder
start "My Window Title" /MIN /WAIT wperl SomePerlScript.pl %*
exit 0
그러면 사용자 정의 제목으로 최소화된 상태로 시작됩니다.
또한 배치를 실행할 때 스크립트를 지정하면 인수를 전달하여 스크립트 이름을 제목으로 사용할 수 있습니다.
cd C:\Some\Folder
start %1 /MIN /WAIT wperl %1 %*
exit 0
그런 다음 myBatch.bat SomePerlScript.pl
. 그런 다음 제목으로 제공된 스크립트 이름을 사용해야 합니다.
Start.exe
당신이 좋아할 만한 다른 편리한 옵션이 있습니다(창을 전혀 생성하지 않으려면 /B, 경로를 지정하려면 /D 등). Start /?
자세한 내용을 확인하세요 .
의견에서 OP가 지적했듯이 이는 작업 관리자의 이름에 영향을 미치지 않습니다.
FreudianSlip이 그의 답변에서 지적했듯이 wperl.exe의 이름을 바꾸는 것이 유일한 옵션일 수 있습니다.
그의 아이디어를 확장하면 아마도 다음과 같은 것을 제안하고 싶습니다.
cd C:\Some\Folder
copy c:\perl\bin\wperl.exe c:\perl\bin\%1.exe
%1 %1.pl %*
del c:\perl\bin\%1.exe
exit 0
이렇게 하면 실행하면 동일한 이름의 스크립트를 myBatch.bat SomePerlScript
실행하기 전에 인수로 제공된 이름과 일치하도록 wperl.exe의 이름이 변경됩니다 ..pl