2017-09-01 22 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语句的一部分。希望帮助后运行命令的计数。

相关问题