У меня есть два пакетных файлов следующим образом, в котором file2.bat зависит от file1.bat «s выход:Файлы, не дожидаясь друг друга
file1.bat
@ECHO OFF
setlocal enabledelayedexpansion
SET "keystring1="
(
FOR /f "delims=" %%a IN (
Source.txt
) DO (
ECHO %%a|FIND "Appprocess.exe" >NUL
IF NOT ERRORLEVEL 1 SET keystring1=%%a
FOR %%b IN (App1 App2 App3 App4 App5 App6) DO (
ECHO %%a|FIND "%%b" >NUL
IF NOT ERRORLEVEL 1 IF DEFINED keystring1 CALL ECHO(%%keystring1%% %%b&SET "keystring1="
)))>result.txt
GOTO :EOF
file2.bat
@echo off
setlocal enabledelayedexpansion
(for /f "tokens=1,2" %%a in (memory.txt) do (
for /f "tokens=5" %%c in ('find " %%a " ^< result.txt ') do echo %%c %%b
))> new.txt
file1.bat обычно занимает 60 секунд, чтобы завершить его выполнение.
В master.bat файл я звоню выше двух файлов, как:
call file1.bat
call file2.bat
но file2.bat не ждет file1.bat завершить выполнение.
Даже, я пытался позвонить file2.bat в file1.bat, как показано ниже, но до сих пор его не ждет file1.bat получить завершен:
@ECHO OFF
setlocal enabledelayedexpansion
SET "keystring1="
(
FOR /f "delims=" %%a IN (
Source.txt
) DO (
ECHO %%a|FIND "HsvDataSource.exe" >NUL
IF NOT ERRORLEVEL 1 SET keystring1=%%a
FOR %%b IN (EUHFMPROD USHFMPROD TL2TEST GSHFMPROD TL2PROD GSARCH1213 TL2FY13) DO (
ECHO %%a|FIND "%%b" >NUL
IF NOT ERRORLEVEL 1 IF DEFINED keystring1 CALL ECHO(%%keystring1%% %%b&SET "keystring1="
)))>file2.txt
GOTO :EOF
call file1.bat
Я также попытался ниже начать вариант, но никакого эффекта .:
start file1.bat /wait
call file2.bat
Не получая ..why его происходит ..?
Как я разместил в своем комментарии ниже, с файлами, которые вы отправили, ** невозможно ** для 'file2.bat' запускать до' file1.bat' завершено. Ergo, вы неправильно истолковываете проблему, или вы не размещали реальные пакетные файлы. В 'file1.bat' нет команд, которые многопоточны. – foxidrive
Просто сутулясь. Если ваш реальный код - это то, что вы опубликовали, проблема может быть путем к файлам. В любом месте нет указателя пути. Когда вы запускаете пакетные файлы по расписанию, текущий каталог, возможно, не является каталогом файлов партии, а «возможно» пакетные файлы или файлы данных не найдены, потому что они создаются в другом месте? –
@ foxidrive..got error..actually source.txt (вход для file1.bat) обновлялся, а file1.bat начал называть его. Я добавил задержку ~ 20sec ** ping ** между созданием source.txt и file1.bat, называя это..и таким образом он разрешил проблему полностью .. спасибо u foxi .. !! :) – Sunny