File 空行回音

File 空行回音,file,batch-file,cmd,File,Batch File,Cmd,当文件遇到空行时,我很难让下面的代码向文件回显空行。我该怎么做 for /f "tokens=1,* delims=]" %%A in ('"type Setup.ini|find /n /v """') do ( set "line=%%B" if defined line ( call set "line=echo.%%line:PRINTER_JAM_SENSOR_PRESENT: TRUE=PRINTER_JAM_SENSOR_PRESENT: FALSE%%" for

当文件遇到空行时,我很难让下面的代码向文件回显空行。我该怎么做

for /f "tokens=1,* delims=]" %%A in ('"type Setup.ini|find /n /v """') do (
set "line=%%B"
if defined line (
    call set "line=echo.%%line:PRINTER_JAM_SENSOR_PRESENT: TRUE=PRINTER_JAM_SENSOR_PRESENT: FALSE%%"
    for /f "delims=" %%X in ('"echo."%%line%%""') do %%~X >>Setup.ini.replaced%~x1
    )
)

当遇到空行时,
变量将设置为空白,从而删除该变量。您已经检查了它的定义时间只需在未定义时添加检查。

for /f "tokens=1,* delims=]" %%A in ('"type Setup.ini|find /n /v """') do (
    set "line=%%B"
    if defined line (
        call set "line=echo.%%line:PRINTER_JAM_SENSOR_PRESENT: TRUE=PRINTER_JAM_SENSOR_PRESENT: FALSE%%"
        for /f "delims=" %%X in ('"echo."%%line%%""') do %%~X >>Setup.ini.replaced%~x1
    )
    if not defined line echo.>>Setup.ini.replaced%~x1
)
Extra:下面是代码,但我建议使用
setlocal enabledayedexpansion进行编辑

for /F "tokens=1,* delims=]" %%A in ('type Setup.ini ^| find /n /v ""') do (
    set "line=%%B"
    if defined line (
        set "line=!line:PRINTER_JAM_SENSOR_PRESENT: TRUE=PRINTER_JAM_SENSOR_PRESENT: FALSE!"
        echo(!line!>>Setup.ini.replaced%~x1
    )
    if not defined line echo.>>Setup.ini.replaced%~x1
)

@mattedgod--我从来没有见过任何python…我对这条python没有记忆…@crnlx不是一个好的编辑。请不要更改标签,除非您完全确定您所做的是正确的。如果需要,你可以要求OP在评论中澄清。这只是一个windows批处理文件。我对编写代码非常缺乏经验。但这只是通过一个文件,找到一行并替换它。但它也删除了空白行,但我希望保持完整。我以为“echo”会这样做,但我一定是做错了什么。@Ben-我的错。在我赶去开会之前编辑一下,这对我很有帮助。