2013-08-09 5 views
4

Я пытаюсь: (1) загрузить Firefox (2) запустить Iopus Imacro (.iim) - wait для этого нужно закончить, затем (3) запустите следующий макрос.создайте пакетный файл, чтобы открыть firefox, затем запустите макрос (дождитесь его завершения), затем запустите другой макрос

До сих пор я пробовал запуск/ожидание вызова и множество других предложений, которые я мог найти по всему Интернету, и это то, что у меня есть до сих пор (которое выполняется безупречно - до тех пор, пока есть только один макрофайл (.iim) играть):

@ECHO ON 
ECHO 
ECHO You have 5 sec to close this Window to prevent the Macro from running... 
timeout 5 
ECHO Start Firefox and wait another 10 seconds... 
start /B "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" 
timeout 10 
ECHO Now running the macro (in a 2nd Tab)... 
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" imacros://run/?m="mymacro1.iim" 

rem Macro Execution completed 
ECHO FINISHED! 

Когда я пытаюсь добавить несколько файлов для запуска, например:

@ECHO ON 
ECHO 
ECHO You have 5 sec to close this Window to prevent the Macro from running... 
timeout 5 
ECHO Start Firefox and wait another 10 seconds... 
start /B "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" 
timeout 10 
ECHO Now running the macro (in a 2nd Tab)... 
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" imacros://run/?m="mymacro1.iim" 
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" imacros://run/?m="mymacro2.iim"  
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" imacros://run/?m="mymacro3.iim" 

rem Macro Execution completed 
ECHO FINISHED! 

Firefox начинается, а затем загружает все файлы .iim сразу, НО ОТСУТСТВУЕТ из них бегут.

Я также попытался создать более одного командного файла, чтобы его можно было запустить, а затем вызвать второй, когда первый закончил ... не работал!

Этот код launch-macros-one-by-one-from-a-batch-file

cd C:\Program Files (x86)\Mozilla Firefox\ 
start firefox.exe 
ping -n 05 127.0.0.1>null 
start /wait firefox.exe imacros://run/?m=unlimited1.iim 
start /wait firefox.exe imacros://run/?m=unlimited2.iim 

Started 2 FireFox окна, но не запускать макросы!

@foxdrive - вот код, который я упомянул в комментариях @ 9pm или так ....

`@ECHO ON 
ECHO 
ECHO You have 5 sec to close this Window to prevent the Macro from running... 
timeout 5 
ECHO Start Firefox and wait another 10 seconds... 
start /B "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" 
timeout 10 
ECHO Now running the macro (in a 2nd Tab)... 
set "tempfile=C:\Users\Public\Documents\iMacros\Macros\flag.txt" 
type nul>"%tempfile%"  
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" "imacros://run/?m="mymacro1.iim" 
:loop1 
if exist "%tempfile%" ping -n 10 localhost >nul & goto :loop1 

type nul>"%tempfile%"  
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" "imacros://run/?m="mymacro2.iim" 
:loop2 
if exist "%tempfile%" ping -n 10 localhost >nul & goto :loop2 

type nul>"%tempfile%"  
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" "imacros://run/?m="mymacro3.iim" 
:loop3 
if exist "%tempfile%" ping -n 10 localhost >nul & goto :loop3 

rem Macro Execution completed 
ECHO FINISHED!` 
+0

Вы говорите, что вы пробовали CALL, но вы не были конкретно о том, как вы его использовали. Это * должен * быть правильным ответом. CALL запускает команду в контексте командного файла и не переходит к следующей строке до тех пор, пока эта команда не будет существовать. Но в духе «* Any * ideas?», Я рекомендую вам рассмотреть возможность оставить разочарование и примитивность командных файлов и cmd позади и начать использовать PowerShell. –

+0

Почему вы не используете таймаут 10 между вызовами двух файлов iim? Вы должны дать некоторое время для партии для запуска iim-файла. – macroscripts

+0

IceD - каждый iim-файл имеет разные длины выполнения, которые меняются день ото дня. –

ответ

3

Теперь макросы удалить этот временный файл, когда они закончат, это должно работать:

@echo off 
ECHO You have 5 sec to close this Window to prevent the Macro from running... 
timeout 5 
ECHO Start Firefox and wait another 10 seconds... 
start /B "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" 
timeout 10 
set "tempfile=C:\Users\Public\Documents\iMacros\Macros\flag.txt" 
echo macro 1 running 
type nul>"%tempfile%"  
start "" /w /b "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" imacros://run/?m="mymacro1.iim" 
:loop1 
if exist "%tempfile%" ping -n 10 localhost >nul & goto :loop1 
echo macro 2 running 
type nul>"%tempfile%"  
start "" /w /b "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" imacros://run/?m="mymacro2.iim"  
:loop2 
if exist "%tempfile%" ping -n 10 localhost >nul & goto :loop2 
echo macro 3 running 
type nul>"%tempfile%"  
start "" /w /b C:\Program Files (x86)\Mozilla Firefox\firefox.exe" imacros://run/?m="mymacro3.iim" 
:loop3 
if exist "%tempfile%" ping -n 10 localhost >nul & goto :loop3 
+0

foxdrive - Спасибо за ваше предложение. Я попробовал код, который вы предоставили, и он запустил firefox, начал запускать MYMACRO1 - когда он добрался до строки 8 0f 702, он внезапно начал запускать MYMACRO2. Любые другие предложения? Спасибо –

+0

Foxdrive - Последние инструкции открыли 3 окна firefox все сразу, и в каждом соответствующем макросе играли. К сожалению, это не сработает для меня, так как когда несколько окон firefox пытаются одновременно играть в макросы, ошибка - это норма (страницы, которые не заполняются или не отправляются). Поэтому мне действительно нужно выяснить способ заставить их загрузить один из них время, ожидая, пока все закончится до начала следующего. Несколько лет назад я использовал instr. на этой странице: [link] (http://forum.iopus.com/viewtopic.php?f=11&t=4888) [/ link] со всеми новыми версиями firefox, windows..something делает это неработоспособным –

+0

Firefox возвращает управление пакетному файлу сразу же после запуска макроса. Чтобы остановить выполнение следующих команд, вы можете заставить макрос удалять временный файл, когда это будет сделано - может ли это сделать? Как выполнить флаг 'del% temp% \.txt' - если это возможно, тогда командный файл может быть записан для создания файла и цикла, пока файл существует. Каждый макрос может удалить один и тот же файл, когда это будет сделано, и пакетный файл может сделать все остальное. Дайте мне знать, имеет ли макрос эту возможность, и я напишу что-нибудь подходящее. – foxidrive

Смежные вопросы