Проверка существования папок с / без пробелов в именах с помощью оператора IF в пакете - PullRequest
0 голосов
/ 28 августа 2018

Я проверяю наличие 2 папок, используя оператор IF , но когда я делаю это с кавычками для переменной "% X%", я не получаю ответа, хотя он работает для "% Y%" , Единственная разница между двумя папками - это пробел в имени. Это место играет роль в этой ошибке и почему!?

Заранее спасибо!

SET X="C:\New Folder"
SET Y="C:\New_Folder"

C:\Users\Administrator>IF EXIST %X% (ECHO 1) ELSE (ECHO 0)
0

C:\Users\Administrator>IF EXIST "%X%" (ECHO 1) ELSE (ECHO 0)


C:\Users\Administrator>IF EXIST %Y% (ECHO 1) ELSE (ECHO 0)
0

C:\Users\Administrator>IF EXIST "%Y%" (ECHO 1) ELSE (ECHO 0)
0

1 Ответ

0 голосов
/ 28 августа 2018

Когда вы делаете set для каталогов с пробелами, добавляя кавычки к пути, например:

SET X="C:\New Folder"

Вы устанавливаете переменную для включения кавычек. эхо "C:\New Folder" при вводе echo %x%

Итак, сделав:

if exist "%X%" echo something

Вы добавляете кавычки, поэтому вы проверяете наличие ""C:\New Folder""

Вместо этого установите так:

SET "X=C:\New Folder"
SET "Y=C:\New_Folder"

Теперь, если вы это сделаете:

if exist "%X%" (echo 1) else (echo 2)

будет эхо 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...