0

我正在尝试编写执行命令行文件的批处理文件,该文件输出一个大的 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 ..”来测试函数,但我的程序输出可能包含特殊字符,所以它不能正常工作。输出包含<?xml version="1.0" encod,但是当我在命令行中查看输出时,我看到:( ■&lt; ? x m l v e r s i o n = " 1 . 0 "当然还有更多)我在这里缺少什么?如果有更好的方法,我全神贯注..我不介意。我对 Windows shell 脚本不太熟悉,这就是我在互联网上找到的。

4

1 回答 1

0

使用来自 - http://www.dostips.com/forum/viewtopic.php?f=3&t=3855的帮助程序批处理文件 repl.bat

@echo off
for /f "delims=" %%a in ('type "file.txt" ^| repl "\r\n" "" m ') do set "variable=%%a"

该变量限制为 8KB 的文本。

于 2013-07-24T10:48:08.533 回答