这是我的myfile.txt,我想在第二列中添加空格,见示例
ARK,LAR SNE,QNE,898,ILO,SNE,SNE,LAR,LAR,545
AUS,MNY P08,TTL,7776,STO,STL,STL,MNY,MNY,567
BOS,MTZ TNK,SDK,444,PPO,TNK,TNK,MTZ,MTZ,456这是我正在使用的代码
for /f "tokens=* " %%i in (myfile.txt) do call :echo2 %%i %%J %%K %%L %%M %%N %%O %%P %%Q %%R %%S
goto :EOF
:echo2
echo insert ('%1','%2','%3','%4','%5','%6','%7','%8','%9','%10'); >>myfile1.txt
goto :EOF它的显示结果,它应该占用空间的地方,我错过了任何帮助
发布于 2013-05-01 11:38:10
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
(
FOR /f "delims=" %%i IN (myfile.txt) DO (
SET "dataline=%%i"
SET "outline="
CALL :adddata
)
)>myfile1.txt
GOTO :EOF
:adddata
FOR /f "tokens=1*delims=," %%p IN ("%dataline%"
) DO SET outline=%outline%'%%p',&SET "dataline=%%q"
IF DEFINED dataline GOTO adddata
ECHO insert (%outline:~0,-1%);
GOTO :eof这应该可以在没有实际列限制的情况下完成工作-当然,前提是逗号是可靠的列尾分隔符。
对于源文件中的每一行,将整个行赋给dataline并清除outline
dataline中提取第一个标记,用逗号分隔,将其引号,添加逗号并将其附加到outline;然后将dataline设置为第一个);
之后的行的剩余部分,直到dataline
outline的最后一个字符(将是逗号)+发布于 2013-05-01 08:24:40
试试这个:
@echo off & setlocal
(for /f "delims=" %%i in (myfile.txt) do (
set "line='%%i'"
setlocal enabledelayedexpansion
set "line=!line:,=','!"
set "line=!line: = ','!"
echo(insert (!line!^);
endlocal
))>myfile1.txt发布于 2013-05-01 16:24:38
您不能超过9个变量,因此您的脚本在第9个变量之后将不起作用。您可以使用for /f完全按照原始文件复制每一行,如下所示:
for /f "tokens=* " %%i in (myfile.txt) do echo %%i >>myfile1.txt
goto :EOFhttps://stackoverflow.com/questions/16307650
复制相似问题