Windows-batch - verketten Sie mehrere text-Dateien in eine
Brauche ich, um ein Skript zu erstellen, die verkettet mehrere text-Dateien in eine.
Ich weiß, das ist einfach zu bedienen
type *.txt > merged.txt
Aber die Anforderung ist "verketten von Dateien vom gleichen Tag in Datei day_YYYY-DD-MM.txt" ich bin linux-user und windows-batch ist die Hölle für mich.
EDIT: Ihr Windows XP
- Sie sollten uns sagen, ob es getan werden muss, um in eine "wirkliche" batch-Datei oder, wenn powershell / Windows-Scripting-host verfügbar ist. Für den Anfang sollte man erwähnen, welche Windows-version unterstützt werden muss (minimum / maximum)
- Ihre windows-XP, also es gibt keine powershell
- Sie gehen zu müssen, eine schön FÜR den Befehl, dies zu tun: stackoverflow.com/questions/9234207/.... Persönlich würde ich nicht Durcheinander mit den Dingen, wie dies in batch. Selbst wenn Sie es bekommen können, um zu arbeiten, die Art von Objekt, das Sie verwenden können, sind begrenzt-Powershell ist der Weg zu gehen.
- Sie können installieren Sie Powershell 2.0 unter Windows XP. Siehe support.microsoft.com/en-us/kb/968929
- Ist dies Ihr zu Hause arbeiten?
- Dies betonen erneut: ist der Windows Scripting Host zur Verfügung ? Können Sie herausfinden, indem Sie "cscript" auf der Kommandozeile. Ob WSH installiert ist, wird es die Ausgabe auf dem Bildschirm, wenn nicht, wird eine Fehlermeldung "Befehl nicht gefunden"
- Ja, es ist
- Keine seiner Hausaufgaben nicht
- Wie WSH installiert ist, können Sie JavaScript verwenden, um nach Dateien zu suchen. Vielleicht ist dies ein Zeiger für eine Google-Suche, wenn Sie nicht bekommen eine fertige Antwort hier. Leider habe ich nicht solch ein Beispiel für Sie ...
- Ich schrieb es in bash und führen Sie es mit cygwin. Es ist viel einfacher
- Ich habe nicht vor, cygwin, weil ich dachte, Sie wollen eine minimale fuzz-Lösung. Der Titel deiner Frage suggeriert, Sie wollen eine Lösung basierend auf Windows-Mechanismen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Windows
type
Befehl funktioniert Analog zum UNIX -cat
.Beispiel 1: Verschmelzen mit dem Datei-Namen (Dies fügt Datei1.csv & Datei2.csv zu erstellen concat.csv)
Beispiel 2: Zusammenführen von Dateien mit Muster (Dies fügt alle Dateien mit der Erweiterung csv und erstellen concat.csv)
In seiner einfachsten, das verketten von Dateien aus einer batch-Datei erfolgt mit 'kopieren'.
Alle Dateien müssen kopiert in einen eigenen Ordner, für Leichtigkeit, legen Sie Sie in Laufwerk "c".
Öffnen Sie die Eingabeaufforderung - windows>geben Sie cmd ein>wählen Sie Eingabeaufforderung.
Können Sie das Standard-Verzeichnis zeigen - Ex : C:[Ordnername]>.
Ändern Sie das Verzeichnis auf den Ordner zeigen, die Sie platziert haben, werden Dateien kopiert, mit "cd [Ordnername]" - Befehl.
Nach dem Hinweis auf Verzeichnis - geben Sie "dir", was zeigt alle Dateien im Ordner, nur um sicherzustellen, dass alles am Ort.
Geben Sie jetzt ein: "copy *.txt [newfile_name].txt " und drücken Sie die EINGABETASTE.
Getan!
Den ganzen text in einzelne Dateien kopiert werden [newfile_name].txt
Bin ich erneut auf einige der anderen Punkte bereits gemacht, aber auch ein 3. Beispiel, das hilft, wenn man die Dateien über Ordner, die Sie verketten möchten.
Beispiel 1 (Dateien im gleichen Ordner):
Beispiel 2 (Dateien im gleichen Ordner):
Beispiel 3 (Dateien existieren in mehreren Ordnern, meint newfileoutput.txt nicht vorhanden):
Versuchen Sie dies:
Diesen code bitten Sie um den Namen der Datei nach "day_", wo Sie eingeben können, das Datum.
Wenn Sie möchten, benennen Sie Ihre Datei wie der eigentliche Datum, an dem Sie dies tun können:
Kann man es mit Typ:
alle Dateien im Verzeichnis werden appendeded, um die Datei
merged.txt
.Können wir verwenden normale CAT-Befehl um Dateien Zusammenfügen..
D:> Katze *.csv > Ausgänge.csv -
Katze "input files" > "Ausgabe-Dateien"
Dies funktioniert in der PowerShell, die Windows bevorzugte shell in aktuellen Windows-Versionen, deshalb funktioniert es. Es ist auch die einzige version von den Antworten oben, um mit großen Dateien arbeiten, wo 'Typ' oder 'kopieren' fehlschlägt.
Its Windows XP
. Gibt es auch eine Lösung für Win XP?