需要将目录中的所有JavaScript文件及其所有子目录连接成一个文件。
现在我在batch file中有一个非常简单的命令,它将一个目录中的所有匹配文件连接到一个文件中:
copy C:\javascripts\*.js concatenated.js
但是,这只适用于一个目录,而不适用于其任何子目录。 我怎样才能做到这一点,也包括在子目录中的所有匹配的文件?
非常感谢!
从命令行你可以使用
for /r "c:\javascripts" %F in (*.js) do @type "%F" >>concatenated.js
在运行上述命令之前,您可能希望先删除任何现有的concatenated.js。
从批处理文件中百分数需要加倍
@echo off del concatenated.js for /r "c:\javascripts" %%F in (*.js) do type "%%F" >>concatenated.js
编辑
在整个语句周围放置括号会更有效,并且每次迭代都使用单个覆盖重定向而不是附加重定向。 它也消除了在开始时删除文件的需要。
>concat.js (for /r "c:\javascripts" %F in (*.js) do @type "%F")
或从批处理
@echo off >concat.js (for /r "c:\javascripts" %%F in (*.js) do type "%%F")
我不知道从批处理文件做到这一点,但你可以使用像minify一样的工具
http://code.google.com/p/minify/
都结合JavaScript文件,也缩小它们(例如通过删除评论和不必要的空白)。
对于各种编程环境,有相当多的类似工具。