gpt4 book ai didi

batch-file - if 循环内的条件与批处理文件

转载 作者:行者123 更新时间:2023-12-03 23:51:06 26 4
gpt4 key购买 nike

我有一个批处理文件,它将:1.计数csv 文件中的行数并将计数传递给 for 循环

@echo It will count no.of lines in file and pass the count 2for loop

P:
cd Exa-WM-Automation\Google-Adword-Task\extra-columns-deleted-so-only-keywords-csv-file
set file=P:\Exa-WM-Automation\Google-Adword-Task\adwords-filename.csv
set /a cnt=0
for /f %%a in ('type "%file%"^|find "" /v /c') do set /a cnt=%%a
echo %file% has %cnt% lines

2.然后调用for循环,每次执行都会调用一个宏脚本loop-google-ad-word.iim

timeout /t 5

@echo Loop starts now

for /L %%A in (1,1,%cnt%) do (
@echo imacro loop is called
c:
start /B "" "C:\Users\webmagnet\AppData\Local\Mozilla Firefox\firefox.exe" imacros://run/?m="loop-google-ad-word.iim"
)

现在我需要的是:

然后说 cnt = 570,

1.每执行 30 次后,它应该运行一个宏脚本 logout.iim & login.iim。2.然后继续for循环。

所以基本上是 for 循环内的 if 条件,它将检查计数是否是 30 的倍数,然后执行 logout.iim & login.iim 否则什么都不做。

最佳答案

为此你需要延迟扩展,即放置

setlocal enabledelayedexpansion

在批处理文件的开头。

然后您可以在循环中创建一个新变量:

set /a mod=%%A %% 30

并检查它是否为 0:

if !mod!==0 (
rem do something
)

关于batch-file - if 循环内的条件与批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28316069/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com