На днях я попытался создать пакетный файл, который будет сообщать пользователю о конкурсе файла, когда конкретный текстовый файл обновляется / изменяется, вот мой код, так что по какой-то причине он не работает:S
@echo off
SetLocal EnableDelayedExpansion
:Try
ping 127.0.0.1 -n 2 -w 1000 > NUL
ping 127.0.0.1 -n %1 -w 1000 > NUL
cls
set test=
for /F "delims=" %%a in (test.txt) do set test=!test! %%a
if !test!==%VAR% (
goto Try
) else (
echo !test!
set VAR1=!test!
goto Try
)
Это то, что я пытаюсь сделать ..
Подождите 2 секунды. очистить экран. превратить содержимое test.txt в переменную. сравните переменную с другой переменной с именем% VAR%. поскольку в начале нет переменной для сравнения, она переходит к оператору else и выводит содержимое один раз. Затем он сделает текущее содержимое переменной. Это вернется к началу и попробуйте еще раз .. Если test.txt изменился, он снова перейдет к другому. Если нет, он вернется и попытается дождаться изменения файла.
Пожалуйста, помогите мне, это очень раздражает.
ОБНОВИТЬ!!!
Поэтому сегодня я возился с кодом и начал пробовать другие методы, потому что сомневаюсь, что этот метод будет работать .. Так что я подумал "Out Side Of The Box". В моем случае у меня есть пакетный файл, который время от времени меняет этот текстовый документ с именем test.txt .. Так что я изменил это. Это ярлык
:Start
cls
set /p inp=
echo %date% %inp% > test.txt
echo 0 >> tmp.yml"
goto Start
И я переписал другую партию тоже ..
@echo off
color 04
:Try
set /p texte=< test.txt
if exist "tmp.yml" goto Changed
goto Try
:Changed
del "tmp.yml"
echo %texte%
goto Try
Надеюсь, кто-то нашел это полезным:D