从Windows中删除Openssl命令中的回车

时间:2014-03-01 13:31:43

标签: batch-file openssl tr

我想在运行OpenSSL命令时从输出文件中删除回车。

这是我的代码,我收到错误tr无法识别,因为这是UNIX命令。但是如何在Openssl命令链接

中转换为批处理命令
openssl enc -aes-256-cbc -K "C:\cat aes_key.txt" -iv "C:\aes_iv.txt" -in plaintext.xml | openssl enc -e -base64 | tr -d '\n' > encrypted.txt

2 个答案:

答案 0 :(得分:0)

将此|tr -d '\n' > encrypted.txt替换为repl.bat命令

|repl "\r" "" xm > encrypted.txt

这假设它是CR而不是CRLF,这是正常的Windows行结束。如果您想替换CRLF,请使用"\r\n"

这使用名为repl.bat的帮助程序批处理文件 - 从https://www.dropbox.com/s/qidqwztmetbvklt/repl.bat

下载

repl.bat放在与批处理文件相同的文件夹中或放在路径上的文件夹中。

答案 1 :(得分:0)

感谢您的支持。我找到了vbscript的解决方案。我在下面写了vbscript并将其保存为vbs文件并传递需要CRLF remvoed的文件名和路径

Const ForReading = 1 
Const ForWriting = 2 
strFileName = Wscript.Arguments(0) 

Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objFile = objFSO.OpenTextFile(strFileName, ForReading) 
WScript.Echo "Checking"
strText = objFile.ReadAll 
objFile.Close 
strNewText = Replace(strText, chr(010), "") ' chr(010) = line feed chr(013) = carriage return 

Set objFile = objFSO.OpenTextFile(strFileName, ForWriting) 
WScript.Echo strNewText
objFile.WriteLine strNewText 
objFile.Close