공백이 포함된 예약된 작업 이름 삭제

공백이 포함된 예약된 작업 이름 삭제

"Adobe Acrobat"으로 시작하는 예약된 작업(예: "Adobe Acrobat 123","Adobe Acrobat 456","Adobe Acrobat 789")을 삭제하고 싶습니다.

schtasks /Delete /TN Adobe* /F

이 명령은 문자 그대로 작업 이름 "Adobe*"를 검색하기 때문에 작업을 찾지 못합니다.

for /f %%x in ('schtasks /query ^| findstr Adobe') do schtasks /Delete /TN %%x /F

이는 공백이 없는 작업 이름에만 작동합니다. 예를 들어 "AdobeAcorbat123"인 경우에만 작업 이름을 찾습니다.

"Adobe"로 시작하고 공백이 포함된 모든 예약된 작업 이름을 삭제하려면 어떻게 해야 합니까?

답변1

대신 이것을 시도해 보세요:

for /f "tokens=1*" %%a in ('schtasks /query /fo list ^| findstr /r "TaskName.*Adobe"') do schtasks /delete /tn "%%b" /f

그만큼findstr부분은 regex(정규식)를 사용하여 출력에서 ​​"TaskName" 및 "Adobe" 문자열을 포함하는 줄만 추출합니다.Schtasks. 그런 다음 이는 for /f( for /?자세한 내용 참조) 및 작업에 대한 전체 경로를 포함하는 두 번째 토큰(공백 포함)이 추출되어 다른 사람에게 전달됩니다.Schtasks해당 작업을 삭제하는 명령입니다.

관련 정보