首页 > 解决方案 > "IF" 后的链式命令条件使用 &

问题描述

我正在尝试检查是否已创建文件夹如果未创建文件夹

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 文件。

现在我将如何最好地检查是否有一个文件夹,然后不管是否继续下一个命令。

标签: windowsbatch-filecmdnpm-scripts

解决方案


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

括号括起 之前的所有代码,&使其作为 1 个完整条件运行。&一旦条件完成,无论前一个条件的结果如何,都会执行后面的代码。

批处理文件中的路径不需要加倍反斜杠,因为\n换行符等转义符不是批处理文件语言的一部分。


推荐阅读