我需要在Windows上用*.bat脚本连接两个二进制文件。
我怎样才能做到呢?
我需要在Windows上用*.bat脚本连接两个二进制文件。
我怎样才能做到呢?
当前回答
如果你可以控制你工作的机器,我强烈建议你安装GnuWin32。只需“下载全部”,并让wget程序检索所有包。然后,您将可以访问cat、grep、find、gzip、tar、less和其他数百个文件。
GnuWin32是我在新Windows机器上安装的第一个程序之一。
其他回答
在Windows 10的红石1发行版中,Windows为NTOS内核添加了一个真正的Linux子系统。我认为最初它是为了支持Android应用程序,也许还有docker类型的场景。微软与Canonical合作,并添加了一个真正的原生bash shell。此外,你还可以使用apt包管理器来获取许多Ubuntu包。例如,您可以像在Linux机器上一样执行apt-get gcc来安装gcc工具链。
如果在我上大学的时候就有这样的东西,我想我可以在原生Windows bash shell中完成我的大部分Unix编程作业。
如果你可以控制你工作的机器,我强烈建议你安装GnuWin32。只需“下载全部”,并让wget程序检索所有包。然后,您将可以访问cat、grep、find、gzip、tar、less和其他数百个文件。
GnuWin32是我在新Windows机器上安装的第一个程序之一。
如果你必须使用批处理脚本并安装python,这里有一个多语言的批处理和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())
如果保存为join.bat,则用法如下:
join.bat file_one.bin file_two.bin out_file.bin
谢谢你的灵感。
你可以像这样使用copy /b:
copy /b file1+file2 destfile
只需对多个源文件和一个目标文件使用dos复制命令。
copy file1+file2 appendedfile
二进制文件可能需要/B选项