2012-07-29 82 views
15

需要將目錄中的所有JavaScript文件及其所有子目錄連接成一個文件。Windows批處理文件 - 連接子目錄中的所有文件

現在我有在串接所有符合條件的文件在一個目錄到一個文件批處理文件非常簡單的命令:

copy C:\javascripts\*.js concatenated.js 

然而,這隻能爲一個目錄,而不是任何的它的子目錄。我怎樣才能做到這一點,幷包括所有在子目錄中的匹配文件?

非常感謝!

回答

21

在命令行中,你可以使用

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") 
+0

啊,好,非常感謝您的幫助! – 2012-07-29 18:41:57

+0

您的最後一個例子「或從批處理」需要%F改爲%% F,或者至少在win xp上。 – Mica 2013-03-20 17:16:21

+0

@Mica - 是的,都是固定的。謝謝 – dbenham 2013-03-20 19:40:43

1

我不知道的方法來做到這一點從一個批處理文件,但你可以使用像縮小

http://code.google.com/p/minify/

這兩個工具合併JavaScript文件,也它們最小化(如拆除評論和不必要的空白)。

對於各種編程環境,有相當多的類似工具。

相關問題