Ich muss zwei Binärdateien mit einer *.bat
Skript unter Windows.
Wie kann ich das erreichen?
Ich muss zwei Binärdateien mit einer *.bat
Skript unter Windows.
Wie kann ich das erreichen?
In der Redstone 1-Version von Windows 10 hat Windows ein echtes Linux-Subsystem für den NTOS-Kernel hinzugefügt. Ich denke, dass es ursprünglich dazu gedacht war, Android-Apps und vielleicht Docker-Szenarien zu unterstützen. Microsoft hat sich mit Canonical zusammengetan und eine echte native Bash-Shell hinzugefügt. Sie können auch den apt-Paketmanager verwenden, um viele Ubuntu-Pakete zu erhalten. Zum Beispiel können Sie apt-get gcc verwenden, um die GCC-Werkzeugkette zu installieren, wie Sie es auf einer Linux-Box tun würden.
Hätte es so etwas zu meiner Studienzeit gegeben, hätte ich wohl die meisten meiner Unix-Programmieraufgaben in der nativen Windows-Bash-Shell erledigen können.
Also suchte ich nach einer ähnlichen Lösung mit der Fähigkeit, EOL-Zeichen zu erhalten, und fand heraus, dass es keine Möglichkeit gab, also tat ich, was ich am besten kann, und erstellte mein eigenes Programm Dies ist eine native ausführbare Datei für Windows - https://mega.nz/#!6AVgwQhL!qJ1sxx-tLtpBkPIUx__iQDGKAIfmb21GHLFerhNoaWk
Usage: cat file1 file2 file3 file4 -o output.txt
-o | Specifies the next arg is the output, we must use this rather than ">>" to preserve the line endings
Ich nenne es sharp-cat, da es mit C# erstellt wurde. Sie können es gerne mit einem Antivirus scannen und der Quellcode wird auf Anfrage zur Verfügung gestellt
Wenn Sie ein Batch-Skript verwenden müssen und Python installiert haben, finden Sie hier ein polygot Antwort in Batch und Python:
1>2# : ^
'''
@echo off
python "%~nx0" " %~nx1" "%~nx2" "%~nx3"
exit /b
rem ^
'''
import sys
import os
sys.argv = [argv.strip() for argv in sys.argv]
if len(sys.argv) != 4:
sys.exit(1)
_, file_one, file_two, out_file = sys.argv
for file_name in [file_one, file_two]:
if not os.path.isfile(file_name):
print "Can't find: {0}".format(file_name)
sys.exit(1)
if os.path.isfile(out_file):
print "Output file exists and will be overwritten"
with open(out_file, "wb") as out:
with open(file_one, "rb") as f1:
out.write(f1.read())
with open(file_two, "rb") as f2:
out.write(f2.read())
Wenn die Datei join.bat gespeichert wird, wird sie wie folgt verwendet:
join.bat file_one.bin file_two.bin out_file.bin
Danke auch diese Antwort für die Inspiration.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.