回显到文件时线条消失了

问题描述 投票:0回答:1

我正在尝试编写一个简单的批处理文件,该文件从一个文件中获取一些字符并将它们写入另一个文件中。 它一定很简单,但我有一个问题:似乎只处理了最后一行。

源文件

test001.txt
包含

 [
   "942877b2-c7f1e0ab-6c611041-66784a0b-a002493c",   
   "245af4a4-c514ffe4-6a71aae4-5555af5s-e5acb21a",   
   "186fe24f-5fa1ea17-2660e457-f955946a-e460d3bc",   
   "942877b2-c7f1e0ab-6c611041-66784a0b-a002493c",   
   "186fe24f-5fa1ea17-2660e457-f955946a-e460d3bc" 
 ]

行数可能不同,但结构是相同的。 现在我正在使用这个代码

@echo off
setlocal EnableExtensions EnableDelayedExpansion
set "infile=test001.txt"
if not exist %infile% (
    echo File '%infile%' does not exist^^!
    goto :eof
)
for /f tokens^=2^ delims^=^" %%F in (%infile%) do (
     echo %%F
) 

我得到了想要的输出,即:

942877b2-c7f1e0ab-6c611041-66784a0b-a002493c
245af4a4-c514ffe4-6a71aae4-5555af5s-e5acb21a
186fe24f-5fa1ea17-2660e457-f955946a-e460d3bc
942877b2-c7f1e0ab-6c611041-66784a0b-a002493c
186fe24f-5fa1ea17-2660e457-f955946a-e460d3bc

如果我将输出重定向到在

>fileout.txt
之后添加
echo %%F
的文件,则文件
fileout.txt
仅包含最后一行。

有人可以帮助我吗?

string batch-file
1个回答
0
投票

这是我的评论的扩展,(带有附加示例)

首选单写方法,(来自评论)

@Echo Off
Setlocal EnableExtensions DisableDelayedExpansion

Set "infile=test001.txt"

If Not Exist "%infile%"" (Echo File '%infile%' does not exist!
    %SystemRoot%\System32\timeout.exe /T 5 /NoBreak 1>NUL & GoTo :EOF)

(   For /F UseBackQ^ Tokens^=2^ Delims^=^" %%G In ("%infile%") Do Echo %%G
) 1>"FileOut.txt"

追加替代方案 1:

@Echo Off
Setlocal EnableExtensions DisableDelayedExpansion

Set "infile=test001.txt"

If Not Exist "%infile%"" (Echo File '%infile%' does not exist!
    %SystemRoot%\System32\timeout.exe /T 5 /NoBreak 1>NUL & GoTo :EOF)

For /F UseBackQ^ Tokens^=2^ Delims^=^" %%G In ("%infile%"
) Do (Echo %%G) 1>>"FileOut.txt"

追加替代方案 2,(来自评论)

@Echo Off
Setlocal EnableExtensions DisableDelayedExpansion

Set "infile=test001.txt"

If Not Exist "%infile%"" (Echo File '%infile%' does not exist!
    %SystemRoot%\System32\timeout.exe /T 5 /NoBreak 1>NUL & GoTo :EOF)

For /F UseBackQ^ Tokens^=2^ Delims^=^" %%G In ("%infile%"
) Do 1>>"FileOut.txt" Echo %%G
© www.soinside.com 2019 - 2024. All rights reserved.