【发布时间】:2020-04-14 23:22:32
【问题描述】:
我有这行(我知道的很简单):
FOR /f "delims=" %%G in (List.txt) DO ECHO %%G
结果是:
AAA
BBB
CCC
DDD
(应该这样)
但我需要这个输出:
**AAA|BBB|CCC|DDD**
有人可以帮忙吗?
【问题讨论】:
标签: command-line command command-prompt
我有这行(我知道的很简单):
FOR /f "delims=" %%G in (List.txt) DO ECHO %%G
结果是:
AAA
BBB
CCC
DDD
(应该这样)
但我需要这个输出:
**AAA|BBB|CCC|DDD**
有人可以帮忙吗?
【问题讨论】:
标签: command-line command command-prompt
Possible duplicate?但是,以下批处理文件也可以提供帮助:
@ECHO OFF
SETLOCAL EnableExtensions DisableDelayedExpansion
echo --- Original:
FOR /f "delims=" %%G in (List.txt) DO ECHO %%G
echo --- One line:
FOR /f "delims=" %%G in (List.txt) DO <NUL set /P "=%%G|"
echo(
echo --- Another one line:
set "_FirstLine="
FOR /f "delims=" %%G in (List.txt) DO (
if defined _FirstLine (
<NUL set /P "=|%%G"
) else (
<NUL set /P "=%%G"
set "_FirstLine=done"
)
)
echo(
输出: D:\bat\SO\59459244.bat
--- Original: AAA BBB CCC DDD --- One line: AAA|BBB|CCC|DDD| --- Another one line: AAA|BBB|CCC|DDD
请注意,echo( 命令会在控制台打印一个空行(重要的是要在 for 循环结束后在同一行中退出打印)。
【讨论】: