2012-07-29 8 views
15

Sie müssen alle Javascript-Dateien in einem Verzeichnis und alle Unterverzeichnisse in einer Datei verketten.Windows Batch-Datei - Verketten Sie alle Dateien in Unterverzeichnissen

Im Moment habe ich einen sehr einfachen Befehl in einer Batch-Datei, die alle der passenden Dateien in einem Verzeichnis in eine Datei verkettet:

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

Allerdings funktioniert dies nur für das ein Verzeichnis und nicht jeder von seine Unterverzeichnisse. Wie kann ich das Gleiche machen und auch alle passenden Dateien in die Unterverzeichnisse aufnehmen?

Vielen Dank!

Antwort

21

in der Befehlszeile können Sie

for /r "c:\javascripts" %F in (*.js) do @type "%F" >>concatenated.js 

Sie möchten alle vorhandenen concatenated.js zuerst löschen verwenden möchten, bevor Sie den obigen Befehl auszuführen.

aus einer Batch-Datei benötigen die Prozente

verdoppelt werden
@echo off 
del concatenated.js 
for /r "c:\javascripts" %%F in (*.js) do type "%%F" >>concatenated.js 

EDIT
Es ist ein bisschen effizienter Klammern um die gesamte Anweisung zu setzen und eine einzige Überschreiben Umleitung statt append Umleitung verwenden, um mit jede Iteration. Außerdem müssen Sie die Datei nicht mehr am Anfang löschen.

>concat.js (for /r "c:\javascripts" %F in (*.js) do @type "%F") 

oder von Charge

@echo off 
>concat.js (for /r "c:\javascripts" %%F in (*.js) do type "%%F") 
+0

Ah, ausgezeichnet, vielen Dank für Sie Hilfe !! –

+0

Ihr letztes Beispiel "oder aus Batch" benötigt% F geändert zu %% F, oder zumindest auf win xp. – Mica

+0

@Mica - Ja, alles behoben. Danke – dbenham

1

ich nicht bewusst, einen Ansatz bin zu tun, dass aus einer Batch-Datei, aber Sie ein Tool wie minify

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

sowohl kombinieren Dateien JavaScript verwenden können und sie auch minify (zB durch Entfernen Kommentare und unnötiger Leerraum).

Es gibt einige ähnliche Tools für eine Vielzahl von Programmierumgebungen.

Verwandte Themen