У меня есть два файла: env.txt и variable.txt . Я использую пакетный скрипт, чтобы прочитать все значения в файле env.txt и заменить их в файле variable.txt , после замены всех значений я хочу выполнить задачу расписания.
Моя проблема: Чтение - запись файла работает нормально, но я не знаю, как проверить variable.txt Запись файла завершена для выполнения другой задачи, и я хочу обработать эту синхронизацию .
Detail:
Файл env.txt содержит некоторое значение
Ex:
value1
значение2
Когда я читаю файл env.txt построчно, я хочу заменить каждое это значение, присвоенное файлу variable.txt и выполнить задачу.
Вот мой код:
@echo off
setlocal enableextensions enabledelayedexpansion
rem Defined some variables...
for /F "delims=" %%a in (%ENV_FILE_PATH%) do (
set /A count+=1
set "array[!count!]=%%a"
)
set newline=^& echo.
set new_file=
for /L %%i in (1,1,%count%) do (
set replace_host=TESTED_HOST="!array[%%i]!"
FOR /F "usebackq delims=" %%a in (%VARIABLE_FILE_PATH%) do (
set "var=%%a"
echo(!var!|findstr /r /c:"!search!" >nul && (
set "var=!replace_host!"
)
echo(!var!|findstr /r /c:"!search_user_name!" >nul && (
set "var=!default_user_admin!"
)
echo(!var!|findstr /r /c:"!search_pwd!" >nul && (
set "var=!default_pwd_admin!"
)
set new_file=!new_file!%newline%!var!
)
echo(!new_file!) > !FILE_VARIABLE_OUT!
rem ( (call ) >>!FILE_VARIABLE_OUT! ) 2>nul && (
rem Execute task when check file write completed
rem echo The file write completed
rem ) || (
rem echo The file is still being created
rem )
)
endlocal
pause
IFY, я только начал изучать пакетный скрипт.
Спасибо всем!