Я пытаюсь написать bat-файл для сетевой политики, которая установит программу, если она не существует, а также некоторые другие функции.Я использую операторы GOTO в зависимости от того, соответствует ли определенный критерий.Однако, похоже, что ярлыки не срабатывают правильно, как все они.
Я упростил свой сценарий, чтобы понять, что может происходить.
@echo off
IF EXIST c:\test\test.txt (GOTO :EXISTING) ELSE GOTO :MISSING
:EXISTING
echo file exists
:MISSING
echo file missing
ping localhost -n 5 >NUL
По сути, он проверяет, существует ли файл "test.txt" в папке "c: \ test", идентификатор которого существует.Так что должен эхо-файл существует для консоли.Однако и «файл существует», и «файл отсутствует» отображаются в консоли.Я обнаружил, что если я удаляю файл из папки или просто переименовываю его, он отображает только «отсутствует файл»
Почему он работает под обеими метками?