String 使用批处理将txt中不需要的空格替换为逗号
我有一个文本文件,其中包含一些信息,如下所示:String 使用批处理将txt中不需要的空格替换为逗号,string,batch-file,String,Batch File,我有一个文本文件,其中包含一些信息,如下所示: 7253198760.294533963.581 7373198752.213 533954.046 739CT 198751.288 533952.902 在每一行中,参数之间都有空格,但空格(不是制表符)只是为了方便阅读 我需要它看起来像这样: 1550168040.682630305.751, 157516023.241630287.837, 15964TS、168008.317630272.508、 这是我的密码: @echo off se
7253198760.294533963.581
7373198752.213 533954.046
739CT 198751.288 533952.902 在每一行中,参数之间都有空格,但空格(不是制表符)只是为了方便阅读 我需要它看起来像这样:
1550168040.682630305.751,
157516023.241630287.837,
15964TS、168008.317630272.508、 这是我的密码:
@echo off
setlocal EnableDelayedExpansion
set LF=^
set "content="
for /f "delims=" %%x in (input.txt) do (
set "content=!content!%%x!LF!"
)
:loop
if defined content (
set "new=!content: = !"
if "!new!" neq "!content!" (
set "content=!new!"
goto :loop
)
)
if defined content if "!str:~0,1!" equ " " set "content=!str:~1!"
if defined content if "!str:~-1!" equ " " set "content=!str:~0,-1!"
echo(!content!
set string=!content! & echo !string: =,! > output.txt
endlocal
pause > null
它将所有内容转换为一行,并在所有内容之间进行连接,而不使用空格。由于最大字符串长度有限,连接到单个字符串是危险的。更好地自行处理每条生产线:
(for /f "tokens=1-3" %%a in (infile.txt) do (
echo %%a,%%b,%%c,
))>outfile.txt
注意:空行将被忽略(将丢失)请将文本样本数据作为文本而不是图像发布在此处,以便其他人可以轻松复制它们并使用它们来测试他们正在研究的预期答案……非常感谢!你帮了我很多忙!