2016-02-05 95 views
0

這是我目前正在做的,它的工作原理......但它並不漂亮。從批處理文件中的循環命令中刪除垃圾郵件

:scan<br> 
echo "Running scan again..."<br> 
for /F %%I in ('%SystemRoot%\System32\schtasks.exe /query /s SERVER /fo list /tn "TASK" ^| %SystemRoot%\System32\find.exe /c "Running"') do if "%%I" 
== "3" goto :scan 

如果得到3的返回值,它會一直重複,直到結果改變。

這是工作。我想知道的是,我該如何做到這一點,以防止它一遍又一遍地反覆發送Running scan again...,直到它結束?我可以只顯示Running scan again...的一個實例,但它的任務是否繼續?

+2

使用第二個標籤? – Stephan

+0

使用'CLS'命令。 – Squashman

回答

1

來詳細說明斯蒂芬的迴應。將另一個標籤放在要忽略的文本下方,然後將您的goto更改爲指向該文本。例如,請參閱下面的:scannolabel更改

:scan 
echo "Running scan again..." 
:scannolabel 
for /F %%I in ('%SystemRoot%\System32\schtasks.exe /query /s SERVER /fo list /tn "TASK" ^| %SystemRoot%\System32\find.exe /c "Running"') do if "%%I" == "3" goto :scannolabel 
+1

使用'GOTO'命令標籤前不需要冒號。 – Squashman

+0

OP的好處。我選擇不改變解決方案不需要的任何東西,但也應該提到這一點。 – Dave