首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在/f "tokens=*“中添加空格

如何在/f "tokens=*“中添加空格
EN

Stack Overflow用户
提问于 2013-05-01 03:35:23
回答 3查看 572关注 0票数 1

这是我的myfile.txt,我想在第二列中添加空格,见示例

代码语言:javascript
复制
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

这是我正在使用的代码

代码语言:javascript
复制
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

它的显示结果,它应该占用空间的地方,我错过了任何帮助

EN

回答 3

Stack Overflow用户

发布于 2013-05-01 11:38:10

代码语言:javascript
复制
@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

  • then。从dataline中提取第一个标记,用逗号分隔,将其引号,添加逗号并将其附加到outline;然后将dataline设置为第一个);

之后的行的剩余部分,直到dataline

  • output中除了outline的最后一个字符(将是逗号)+
  • 之外什么都不剩
票数 1
EN

Stack Overflow用户

发布于 2013-05-01 08:24:40

试试这个:

代码语言:javascript
复制
@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
票数 0
EN

Stack Overflow用户

发布于 2013-05-01 16:24:38

您不能超过9个变量,因此您的脚本在第9个变量之后将不起作用。您可以使用for /f完全按照原始文件复制每一行,如下所示:

代码语言:javascript
复制
for /f  "tokens=* " %%i in (myfile.txt) do echo %%i >>myfile1.txt
goto :EOF
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16307650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档