Batch file 批处理作为命令执行输出的字符串

Batch file 批处理作为命令执行输出的字符串,batch-file,command-prompt,Batch File,Command Prompt,我正在尝试编写一个批处理文件,它执行一个命令行文件,输出一个大的xml文件。 该xml文件包含我要删除的新行或回车的唯一字符,然后在完成后将其写入文件。 我知道如何通过'>'将输出重定向到文件: 因此,我可以将命令结果输出到如下文件: exec.exe[args]>file.txt 问题是我想从中删除\r\n,所以我想将文件导出到一个变量,然后在结尾将其写入一个文件。我找到了这个函数: FOR /F "tokens=*" %A IN ('exec.exe [args]') DO SET Vari

我正在尝试编写一个批处理文件,它执行一个命令行文件,输出一个大的xml文件。 该xml文件包含我要删除的新行或回车的唯一字符,然后在完成后将其写入文件。 我知道如何通过'>'将输出重定向到文件: 因此,我可以将命令结果输出到如下文件: exec.exe[args]>file.txt 问题是我想从中删除\r\n,所以我想将文件导出到一个变量,然后在结尾将其写入一个文件。我找到了这个函数:

FOR /F "tokens=*" %A IN ('exec.exe [args]') DO SET Variable=%A
然后应用以下公式:

set A=%A:\r=%
set A=%A:\n=%
然后将A的内容写入文件。 当然,那没用,这就是我来这里的原因。 它用于测试目的,我设置了一个短字符串或“echo..”来测试函数,但我的程序输出可能包含特殊字符,因此它不能正常工作。
输出包含使用以下帮助程序批处理文件repl.bat的


变量限制为8KB的文本。

您的文件似乎是unicode格式的。我不确定它是否能处理Unicode,但这里找到的repl.bat是一种删除crlf对的原生方法——我尝试了许多变体,但似乎没有任何效果。只是为了验证其是否与unicode相关或只是误用,我应该如何运行此工具?
type file.txt | repl“\r\n”“”m>file2.txt
是的,我没有看到“m”标志。谢谢你知道我怎样才能不把它输出到一个文件中,而是把它输出到一个变量中吗。
@echo off
for /f "delims=" %%a in ('type "file.txt" ^| repl "\r\n" "" m ') do set "variable=%%a"