我正在尝试运行一个预构建事件,它将目录中的所有JavaScript文件传递给MS的Ajax Minifier。不幸的是,这个工具将文件名作为单独的参数排除(它不能解析“* .js”)。我有很多JavaScript文件,我真的不想在预构建事件窗口中单独列出它们。
这是我目前的预建命令:
"$(SolutionDir)Tools\AjaxMin.exe" "$(ProjectDir)*.js" -out "$(ProjectDir)Generated\Generated.js" -clobber
有没有人知道正确的语法(或者是否有一个)让你做到你期望它做的事情?
感谢您的帮助。
答案 0 :(得分:1)
Prebuild事件传递给shell,这就是为什么你可以像下面这样设置一个cmd脚本作为预构建事件:
::Force variables to be evaluated at execution time
SETLOCAL ENABLEDELAYEDEXPANSION
SET parameter=
SET proj=$(ProjectDir)*.js
::Concatenate all the file names (surrounded by quotes) into a single string
FOR %%F IN ("%proj%") DO (SET parameter=!parameter! "%%F")
::Execute command
"$(SolutionDir)Tools\AjaxMin.exe" %parameter% -out "$(ProjectDir)Generated\Generated.js" -clobber
这里我们在参数变量中累积所有js文件名并将其传递给ajaxmin.exe。