调度程序执行批处理脚本10次后打印行

时间:2017-09-01 10:39:04

标签: batch-file

我有一个Windows批处理脚本,每隔1小时由调度程序执行一次。

我希望批处理脚本中的某些行只能在调度程序执行批处理脚本10次时执行。

myscript.bat示例

@echo off
echo hello world

希望在每10次批处理脚本(myscript.bat)执行后打印以下行。

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

任何帮助都将受到高度赞赏!!

2 个答案:

答案 0 :(得分:0)

您可以使用循环语句来完成此操作 在批处理文件中

例如: - 如果你想打印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语句的一部分。希望有所帮助。