【问题标题】:Batch to make new line after every space in FOR loop在 FOR 循环中的每个空格后批量创建新行
【发布时间】:2016-10-05 23:25:39
【问题描述】:

我有一个将结果打印到文本文件的 for 循环。我想要做的是为每个项目创建一个新行(项目以空格分隔)。

原来的colors.txt文件是这样的:

red
blue    yellow
cyan
pink    orange
azure

newcolors.txt 的期望输出:

red
blue    
yellow
cyan
pink    
orange
azure

我当前的代码在这里:

FOR /F "tokens=1 delims=    " %%a in (C:\colors.txt) DO call echo %%a >> C:\newcolors.txt

我当前的(和不正确的)输出如下,它跳过了以空格分隔的颜色:

red 
blue 
cyan 
pink 
azure 

感谢任何帮助。

【问题讨论】:

  • 你必须提供一些具体的例子来说明你的输入是什么样的以及你需要什么样的输出。
  • 我很抱歉。我更新了。
  • 一行可以有多少项?

标签: batch-file for-loop output


【解决方案1】:

根据您的示例,这应该适合您。

 @echo off
 FOR /F "delims=" %%G in (C:\colors.txt) DO (
    FOR %%H IN (%%G) DO ECHO %%H>>C:\newcolors.txt
 )

【讨论】:

  • @echo off >"C:\newcolors.txt" ( FOR /F "delims=" %%G in (C:\colors.txt) DO ( FOR %%H IN (%%G) DO ECHO %%H ) ) 所以文件只打开和关闭一次
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-05
相关资源
最近更新 更多