我想要一个在每次运行时从00
to递增的变量。23
我必须每小时下载一次文件,这就是我需要这种模式的原因。0
to9
应该是两位数。前任。00, 01, 02, 03, 04 .. 10, 11, 12 .. 23, 00, 01 ..
为了实现上述目的,我返回了一个简单的代码,如下所示:
@echo off
set /p VAR=<Hourly_capture.txt
echo %var%
if /I %myvar% LSS 23 (SET /a myvar=%var%+1) else (SET myvar=00)
echo %myvar%
if /I %myvar% EQU 0 (echo 0 >Hourly_capture.txt) else echo %myvar% >Hourly_capture.txt
if /I %var% LSS 10 (if /I %var% NEQ 0 set Hourly_v=0%var%)
if /I %var% EQU 0 (SET Hourly_v=00) else (if /I %var% GTR 9 (SET /a Hourly_v=%var%))
echo %Hourly_v%
我0
第一次手动输入Hourly_capture.txt
.
现在这一切都设置好了。我可以在终端(cmd)上运行它,或者也可以将它作为批处理脚本运行并考虑Hourly_v
其他一些变量。
但我的问题是我有一个需要这个变量的主脚本。当我将这段代码放在我的脚本中或调用一个保存这些数据的 bat 文件时,它就会退出。不明白原因。
例如:考虑到我的上述逻辑在批处理脚本Hourly_logic.bat
中。如果我运行另一个包含
Echo " Iam running Horly_logic script to get the hour variable incremented"
Hourly_logic.bat
Echo "done"
上面的主脚本运行时会立即出现Hourly_logic.bat
。
即使我尝试将上述行直接放入主脚本中,我也看到脚本在第 4 行退出,即if /I %myvar% LSS 23 (SET /a myvar=%var%+1) else (SET myvar=00)
.
请帮助我了解这里出了什么问题。