Windows上是否有replace猫的方法?

我需要在Windows上join两个带有*.bat脚本的二进制文件。

我怎样才能做到这一点?

Windows type命令与UNIX cat类似。

例1:

 type file1 file2 > file3 

相当于:

 cat file1 file2 > file3 

例2:

 type *.vcf > all_in_one.vcf 

这个命令将把所有的vcards合并为一个。

你可以像这样使用copy /b

 copy /b file1+file2 destfile 

如果您可以控制正在进行工作的计算机,则强烈build议安装GnuWin32 。 只需“全部下载”,让wget程序检索所有的软件包。 然后,您将可以访问cat,grep,find,gzip,tar,less和其他数百个。

GnuWin32是我在一个新的Windows机器上安装的第一件事情之一。

无耻PowerShell插件(因为我认为学习曲线是一个痛苦,所以在任何机会教学的东西可以帮助)

 Get-Content file1,file2 

注意这个type是Get-Content的别名,所以如果你喜欢它,你可以写:

 type file1,file2 

只需使用带有多个源文件和一个目标文件的dos复制命令即可。

复制file1 + file2的附件文件

您可能需要二进制文件的/ B选项

如果您只是想将文本附加到现有文件的末尾,则可以使用>>pipe道。 例如:

 echo new text >>existingFile.txt 

在Windows 10的Redstone 1发行版中,Windows为NTOS内核添加了一个真正的Linux子系统。 我认为最初它是为了支持Android应用程序,也许是dockertypes的场景。 Microsoft与Canonical合作并添加了一个实际的本机bash shell。 另外,你可以使用apt软件包pipe理器来获取许多Ubuntu软件包。 例如,你可以像在Linux上一样apt-get gcc来安装GCC工具链。

如果我在上大学的时候存在这样的事情,我想我可以在本地的Windows bash shell中完成大部分的Unix编程任务。

如果你必须使用批处理脚本,并安装python,这里是批量和python中的一个polygot答案:

 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 

感谢这个答案的灵感。