如何使用批处理文件循环imacro脚本

时间:2014-11-10 09:24:26

标签: javascript batch-file imacros

我的代码在.bat文件中看起来像这样

start /B "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" imacros://run/?m="loop-google-ad-word.iim" -loop 3
timeout /t 120

但问题是我无法将loop-google-ad-word.iim脚本从正常运行的批处理文件中循环3次。

我在这里提到http://wiki.imacros.net/Example-Batchfile.bat并做了类似的事情。 也称为iMacros randomly stops in a loop,但它不循环

任何相关的建议表示赞赏。 提前谢谢。

4 个答案:

答案 0 :(得分:1)

如何使用批处理文件循环?

for /L %%A in (1,1,3) do (
    start /B "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" imacros://run/?m="loop-google-ad-word.iim"
    timeout /t 120
)

答案 1 :(得分:1)

上面的代码帮助我循环批处理文件所以在这个循环中我还添加了代码来删除我的imacro从中读取数据的第一行csv文件,因此自动imacro将在每个循环中获得下一行数据。

它应该循环的次数我已经动态取决于我的csv文件中的行。所以它首先算不了。然后将它传递给for循环%cnt%

@echo It will count no.of lines in file and pass the count 2for loop
set file=C:\Users\account\Documents\iMacros\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
timeout /t 5

@echo Loop starts now-------------------
for /L %%A in (1,1,%cnt%) do (
    @echo call macro script
    start /B "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" imacros://run/?m="loop-google-ad-word.iim"
    timeout /t 60

    @echo delete 1st line of csv file at each loop
    set "csv=C:\Users\account\Documents\iMacros\adwords-filename.csv"
    more +1 "%csv%" >"%csv%.new"
    move /y "%csv%.new" "%csv%" >nul
)

答案 2 :(得分:0)

如果您使用批处理脚本,您可以为无限循环构建这样的代码!

@echo off

:Intro
start /B "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" imacros://run/?m="loop-google-ad-word.iim" -loop 3
timeout /t 120
goto Intro

quit

好的,这使用了一个简单的goto命令,希望它能正常工作!

答案 3 :(得分:0)

我认为从.BAT文件启动后有3次.iim宏循环的最简单方法是将以下语句放在宏的开头(+调整'!DATASOURCE_LINE'为2或3如果你的宏使用数据源......):

SET !LOOP -1

SET !DATASOURCE_LINE {{!LOOP}}
ADD !DATASOURCE_LINE 2

您的.BAT文件将如下所示:

start /B "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" imacros://run/?m="loop-google-ad-word.iim"
timeout /t 120

(我自己用它......)