我有一个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.
任何帮助都将受到高度赞赏!!
答案 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
语句的一部分。希望有所帮助。