繁体   English   中英

Windows批处理文件 - 连接子目录中的所有文件

[英]Windows batch file - Concatenate all files in subdirectories

需要将目录中的所有javascript文件及其所有子目录连接到一个文件中。

现在我在批处理文件中有一个非常简单的命令,它将一个目录中的所有匹配文件连接成一个文件:

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文件又可以缩小它们(例如删除注释和不必要的空白区域)。

有许多类似的工具可用于各种编程环境。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM