ЯКЩО твердження в пакетному файлі не працює належним чином


1
@ECHO OFF
PAUSE 
IF EXIST "C:\Program Files\NexphaseV6\ECF" (
    ECHO Directory exists! 
    PAUSE
) ELSE (
    MKDIR "C:\Program Files\NexphaseV6\ECF" 
    ECHO Directory made!
)
PAUSE

Коли я запускаю вищезгаданий пакетний файл, я завжди отримую протилежні результати від очікуваних.

Отже, якщо каталог існує, він говорить "Каталог зроблений!", А якщо він не існує, він говорить "Каталог існує!"

Це в основному неправильний шлях - Чому це?

Відповіді:


1

Пакетний файл мені добре виглядає і працює тут (якщо у вас, звичайно, є права на створення каталогів у файлах програми, тому ви, можливо, захочете запустити його з піднятого командного рядка (адмін)).

Одна порада - трохи змінити тест існування каталогу. Замість:

IF EXIST "C:\Program Files\NexphaseV6\ECF"

ви повинні використовувати:

IF EXIST "C:\Program Files\NexphaseV6\ECF\"

Зверніть увагу на зворотний кут нахилу. Це гарантує, що якщо є файл з таким самим іменем, тест не поверне значення True.


Не надто впевнений, як я змусив його працювати, коли я вже працював адміністратором, хоча це працює зараз, дякую!
Олексій
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.