Пара вещей.Вам нужно заключить пути в двойные кавычки, чтобы устранить возможные пробелы.Кроме того, поскольку мы устанавливаем переменные внутри цикла (кодовый блок), лучше всего использовать delayedexpansion
.
И наконец, НИКОГДА не устанавливайте имя переменной, которая существует как системная переменная среды.Здесь path
нарушит ваш фактический путь, и команды больше не будут работать, поэтому вместо этого создайте несуществующее имя, например mypath
.
@echo off
setlocal enabledelayedexpansion
if exist clientshutdown3.exe (
start clientshutdown3.exe
) else (
set /p "mypath=Enter path of pdf file: "
start "" "!mypath!\lor.pdf"
)
pause
. Вы также можете уйти без delayedexpansion
, перемещаясекция start
снаружи кодового блока.
@echo off
if exist clientshutdown3.exe (
start clientshutdown3.exe
) else (
set /p "mypath=Enter path of pdf file: "
)
if defined mypath start "" "%mypath%\lor.pdf"
pause