2017-09-01 90 views
0

我有一個windows批處理腳本,每隔1小時後由調度程序執行。調度程序執行批處理腳本10行後的打印行

我希望批處理腳本中的某些行僅在調度程序執行批處理腳本10次時才執行。

myscript.bat樣品

@echo off 
echo hello world 

希望下面一行的每10次批處理腳本(myscript.bat)已經被執行之後打印。

echo This text will appear after repeating "hello world" for 10 times.

任何幫助將不勝感激!

+0

你需要創建一個標籤文件和設置每次閱讀它,直到你遇到一個特定的計數,然後做一些其他的事情,我會爲你創建一個答案 –

回答

1

您可以通過使用循環語句 在批處理文件

對於如做到這一點: - 如果你要打印的hello world 10時

FOR /F %i IN (1,1,10) DO echo hello_world 
+1

你完全錯過了這個問題。 –

0

你需要創建一個文件,看到腳本一直執行並退出,實際上每小時都會執行。

@echo off 
echo Hello World 
echo Hello World >> lockfile.txt 
setlocal EnableDelayedExpansion 
set "string=findstr /R /N "^^" lockfile.txt | find /C "Hello"" 

for /f %%a in ('!string!') do set number=%%a 
echo %number% 
IF "%number%"=="10" (ECHO Success! && del /Q lockfile.txt) 

所以解釋... 我們贊同Hello world,純粹是給你看它在屏幕上。 每次腳本執行時,我們都會將Hello world轉換爲鎖定文件。 我們對文件中的行進行了計數,一旦我們點擊10行(在這種情況下執行10次,然後我們回顯Success並刪除鎖定文件)。鎖定文件刪除的原因純粹是爲了確保我們不會超過的10

因此,所有你想要hello world被回顯的10倍,會爲你的IF語句的一部分。希望幫助後運行命令的計數。