Dos批处理:写入没有行结尾的文件

K.B*_*rad 5 newline dos batch-file text-files

编写dos批处理脚本时我遇到了一种情况.我用来计算文本字符串的CRC(校验和)的工具要求文本在文件中.我试图获取CRC的数据是文件名,但是当使用批处理将此文件名放入文本文件来计算CRC时,批处理脚本自然地将行结束(CR/LF)和空白行放在结束.由于这会导致CRC错误,这是一个问题.

有没有办法让批处理脚本写入文本文件而不附加行结尾?IE输出单行未完成文件?

-K.Barad

jeb*_*jeb 10

<nul set /p ".=text" > file

它比它更快更安全 echo.|set /P ="text" > file

nul重定向比管道快echo.(btw echo.可能失败).
引号的样式允许输出引号.

但总有限制!
Vista和Win7有一个"功能"来压制领先的空间,Tabs和CR.
Xp可以输出带前导空格的文本等等.
并且不可能以等号开始输出文本(导致语法错误)


vul*_*ino 5

你可以

echo.|set /P ="text" > file
Run Code Online (Sandbox Code Playgroud)

资源

或者直接将文本传递给命令行:echo"text"| checksum_program.exe

编辑:

如果您使用CRC32DOS,则可以使用其命令行选项-c忽略CRs.