cmd for 루프 내부에서 파이프 또는 리디렉션을 어떻게 사용합니까? 심지어 경우,for 루프 내부에 파이프 및 리디렉션 포함
for %%m in (**{list of individual program names}**) do (
tasklist /FI "IMAGENAME eq %%m" /NH ^| find /i "%%m"
if "%errorlevel%" EQU "1" set /a err_count=%err_count%+1
echo checking tasklist item %%m , count is %err_count%
)
내가 발견을 통해 파이프에 필요하거나 오류없이 작업 목록는 항상 완성 :
내 샘플 스크립트는 목적은 특정 프로그램/일련의 서비스가 실행되고 있는지 확인하는 것입니다 (이다 프로그램이 실행되고 있지 않습니다.
내가 루프에 |
및 >
을 탈출하는 생각할 수있는 모든 변화를 시도했습니다, 아무것도 지금까지 근무하지 않았다.
을 /f
는 OPTI를 구분 기호 명령은 줄 1의 괄호 안에있는 경우에만 작동합니다.이 명령은 루프 안에 넣고 싶습니다.
보고있는 오류나 잘못된 동작을 말하면 도움이됩니다. 파이프를 빠져 나오거나'for' 루프 안에서 재지향 할 필요가 없습니다. 에코를 켜면 배치 파일이 실행중인 명령을 확인할 수 있습니다. 이것은 잘 작동합니다 :'%% m for (chrome.exe abc.exe notepad ++. exe)에 대해 tasklist/fi "IMAGENAME eq %% m"/ nh |/i "%% m">> results.txt' – indiv
또한 루프에서'err_count' 주변에서 지연된 확장을 사용해야합니다. 'setlocal EnableDelayedExpansion'을 쓴 다음 루프에서'! err_count! '를 사용하십시오. 명령 줄에 'help set'을 입력하거나 Google 검색을 통해 자세한 정보를 얻으십시오. – indiv