如何在批处理脚本中使用FOR循环来防止.txt文件迭代时防止空白行

问题描述

我有一个.txt文件,其中包含文本和一些空白行。通过使用for循环在.txt文件中进行某些操作时,发现原来包含的空白行已消失。

示例: 我有一个temp.txt文件,其输入如下:

#
 Require
 #

 #Rel task
 #
 
 HOST_ID=

 ACTIVATE_ID

 #
 #

使用FOR循环执行一些操作后,我在相同的.txt文件中得到结果,如下所示:

#
 Require
 #
 #Rel task
 #
 HOST_ID=56767\Ether
 ACTIVATE_ID
 #
 #

因此,我不想忽略那些空白行。 我尝试在for循环中使用usebacq关键字,但是没有用。 我尝试了每种可行的方法,但每次都失败。

这是我的代码:

@echo off

setlocal enableextensions disabledelayedexpansion
set rem=56767\Ether
set "textFile=temp.txt"

for /f "delims=" %%i in ('type "%textFile%" ^& break ^> "%textFile%" ') do (
    set "line=%%i"
    setlocal enabledelayedexpansion
    
    if !line!==HOSTID= (
        set "foo=!line:HOSTID=HOSTID=%rem%!"
        set "line=!foo:~0,-1!"
    )
    >>"%textFile%" echo(!line!
    endlocal
)
:EXIT
pause

在上面的代码中,我正在在同一.txt文件中提供的字符串之前附加一些额外的字符串。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)