Цепные команды после условного "IF" с использованием & - PullRequest
0 голосов
/ 01 ноября 2018

Я пытаюсь проверить, была ли создана папка, если она НЕ создана

IF NOT EXIST dist\\js (MKDIR dist\\js)

тогда независимо от того, создал ли он папку, которую я хочу запустить

& uglifyjs dev/*.js -m -o dist/js/app.js

теперь кажется, что & не работает. Вторая команда не выполняется, если папка существует.

Если я использую следующее в качестве первого утверждения:

IF NOT EXIST dist\\js (MKDIR dist\\js) ELSE (Echo exist)

в первый раз я запускаю их вместе, как в:

IF NOT EXIST dist\\js (MKDIR dist\\js) ELSE (Echo hate) & echo Love & uglifyjs dev/*.js -m -o dist/js/app.js

Папка создается НО файл app.js не создается. Только когда я снова запускаю команду, она создает файл app.js.

Теперь, как бы я предпочел проверить, есть ли папка, а затем независимо продолжить следующую команду.

1 Ответ

0 голосов
/ 01 ноября 2018
(IF NOT EXIST dist\\js (MKDIR dist\\js) ELSE (Echo hate)) & echo Love & uglifyjs dev/*.js -m -o dist/js/app.js

Скобки заключают весь код перед &, чтобы он работал как 1 полное условие. Как только условие выполнено, код после & будет выполняться независимо результата предыдущего условия.

Удвоение обратной косой черты не требуется для путей в пакетном файле, поскольку экранирование, такое как \n для новой строки, не является частью языка пакетного файла.

...