Ich muss zwei Binärdateien mit einem *.bat
Skript unter Windows verbinden.
Wie kann ich das erreichen?
windows
command-line
scripting
Artem Tikhomirov
quelle
quelle
type
kann nur einen Teil dercat
Funktionalität ersetzen (aufgrund der Unterscheidung zwischen Binär- und Textdateien unter Windows).Antworten:
Der Windows-
type
Befehl funktioniert ähnlich wie UNIXcat
.Beispiel 1:
ist äquivalent zu:
Beispiel 2:
Dieser Befehl führt alle vcards zu einer zusammen.
quelle
type file1 file2 > file3 2>NUL
Sie können
copy /b
wie folgt verwenden:quelle
type
die in den Kommentaren zur akzeptierten Antwort aufgeführt sind ... es sei denn, diese Lösung hat ähnliche Nachteile, ist aber nicht populär genug, damit die Leute sie notieren können!Wenn Sie die Kontrolle über den Computer haben, auf dem Sie arbeiten, empfehle ich dringend, GnuWin32 zu installieren . Einfach "Alle herunterladen" und das Wget-Programm alle Pakete abrufen lassen. Sie haben dann Zugriff auf cat, grep, find, gzip, tar, less und Hunderte anderer.
GnuWin32 ist eines der ersten Dinge, die ich auf einer neuen Windows-Box installiere.
quelle
Schamloser PowerShell-Stecker (weil ich denke, dass die Lernkurve ein Schmerz ist, kann es hilfreich sein, bei jeder Gelegenheit etwas zu lehren)
Beachten Sie, dass dies
type
ein Alias für Get-Content ist. Wenn es Ihnen besser gefällt, können Sie Folgendes schreiben:quelle
type file1 file2 > dest
und mit cmd versucht und jeder war in Sekunden erledigt.'\n'
durch'\r\n'
-Encoding UTF8
hat nichts geändert.Verwenden Sie einfach den Befehl dos copy mit mehreren Quelldateien und einer Zieldatei.
Möglicherweise benötigen Sie die Option / B für Binärdateien
quelle
In der Redstone 1-Version von Windows 10 hat Windows ein echtes Linux-Subsystem für den NTOS-Kernel hinzugefügt. Ich denke, ursprünglich sollte es Android-Apps und möglicherweise Docker-Szenarien unterstützen. Microsoft hat sich mit Canonical zusammengetan und eine aktuelle native Bash-Shell hinzugefügt. Sie können auch den apt-Paketmanager verwenden, um viele Ubuntu-Pakete abzurufen. Sie können beispielsweise apt-get gcc ausführen, um die GCC-Toolkette wie auf einer Linux-Box zu installieren.
Wenn so etwas während meines Studiums existiert hätte, hätte ich wahrscheinlich die meisten meiner Unix-Programmieraufgaben in der nativen Windows-Bash-Shell erledigen können.
quelle
Wenn Sie einfach Text an das Ende der vorhandenen Datei anhängen möchten, können Sie die Pipe >> verwenden. Ex:
quelle
Wenn Sie ein Batch-Skript verwenden müssen und Python installiert haben, finden Sie hier eine Polygot- Antwort in Batch und Python:
Wenn als join.bat gespeichert, wäre die Verwendung:
Danke auch dieser Antwort für die Inspiration.
quelle
Ich versuche, mich wieder dem Tar-Archiv anzuschließen, das auf einem Linux-Server aufgeteilt wurde.
Und ich habe festgestellt, dass bei Verwendung
type
unter Windowscmd.exe
die Datei in der falschen Reihenfolge zusammengefügt wird (dhtype
manchmal wird zuerst XXXX.ad und dann XXXX.ac, XXXX.aa usw. eingefügt).Also habe ich
bat
in GitHub https://github.com/sharkdp/bat ein Tool gefunden, das einen Windows-Build und eine bessere Code-Hervorhebung hat. Wichtig ist, dass es unter Windows gut funktioniert, um sich wieder dem Tar-Archiv anzuschließen!quelle
Also suchte ich nach einer ähnlichen Lösung mit der Fähigkeit, EOL-Zeichen zu erhalten, und fand heraus, dass es keinen Weg gibt. Also mache ich das, was ich am besten kann und mache meine eigene Nützlichkeit. Dies ist eine native Katze, die für Windows ausführbar ist - https: // mega. nz / #! 6AVgwQhL! qJ1sxx-tLtpBkPIUx__iQDGKAIfmb21GHLFerhNoaWk
Ich nenne es Sharp-Cat, da es mit C # erstellt wurde. Sie können es gerne mit einem Antivirenprogramm scannen. Der Quellcode wird auf Anfrage zur Verfügung gestellt
quelle
Der Windows-Befehl hat Probleme, z. B. mit Unicode-Zeichen an der 512-Byte-Grenze. Probieren Sie Cygwins Katze.
quelle