Windows上有猫的替代品吗

我需要在Windows上用*.bat脚本连接两个二进制文件。

我怎样才能做到呢?

504447 次浏览

你可以像这样使用copy /b:

copy /b file1+file2 destfile

只需对多个源文件和一个目标文件使用dos复制命令。

copy file1+file2 appendedfile

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

Windows type命令的工作原理类似于UNIX cat

示例1:

type file1 file2 > file3

等价于:

cat file1 file2 > file3

示例2:

type  *.vcf > all_in_one.vcf

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

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

Get-Content file1,file2

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

type file1,file2

如果你可以控制你工作的机器,我强烈建议安装GnuWin32。只需“下载全部”,并让wget程序检索所有包。然后,您将可以访问cat、grep、find、gzip、tar、less和其他数百个文件。

GnuWin32是我在新Windows机器上安装的第一个程序之一。

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

echo new text >>existingFile.txt

如果你必须使用批处理脚本并安装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

也感谢这个答案的灵感。

在Windows 10的红石1发行版中,Windows为NTOS内核添加了一个真正的Linux子系统。我认为最初它是为了支持Android应用程序,也许还有docker类型的场景。微软与Canonical合作,并添加了一个真正的原生bash shell。此外,你还可以使用apt包管理器来获取许多Ubuntu包。例如,您可以像在Linux机器上一样执行apt-get gcc来安装gcc工具链。

如果在我上大学的时候就有这样的东西,我想我可以在原生Windows bash shell中完成我的大部分Unix编程作业。

我尝试重新加入tar存档,它已经在Linux服务器上被分裂。

我发现如果我在Windows的cmd.exe中使用type,它会导致文件以错误的顺序连接。type有时会放置XXXX。先是广告,然后是XXXX。ac, XXXX。Aa等等…)

所以,我在GitHub https://github.com/sharkdp/bat中找到了一个名为bat的工具,它有一个Windows构建,并有更好的代码高亮显示,重要的是,它在Windows上工作得很好,可以重新加入tar存档!

所以我正在寻找一个类似的解决方案,能够保存EOL字符,并发现没有办法,所以我做什么我做得最好,并使我自己的实用程序 这是windows的本机cat可执行文件- https://mega.nz/ 6 avgwqhl !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

我称它为sharp-cat,因为它是用c#构建的,请随意使用防病毒软件扫描,源代码将根据要求提供

Windows类型命令有问题,例如Unicode字符在512字节的边界上。试试Cygwin的猫。