我试图编写执行命令行文件的批处理文件,该文件输出一个大的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
但是当我在命令行中查看输出时,我看到: ■< ? x m l v e r s i o n = " 1 . 0 "
(当然还有更多)
我在这里错过了什么?
如果有更好的方法,我的耳朵......我不介意。
我不太熟悉Windows shell脚本,这就是我在互联网上找到的。
答案 0 :(得分: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的文本。