正确地将input.txt
中的每一行导出到单独的output1.txt
、output2.txt
等文件中:
@echo offsetlocal enabledelayedexpansionset "INPUT_FILE=input.txt"set "OUTPUT_PREFIX=output"set "LINE_NUMBER=1"for /f "delims=" %%A in ('type "%INPUT_FILE%"') do (set "LINE=%%A"echo !LINE! > "!OUTPUT_PREFIX!!LINE_NUMBER!.txt"set /a "LINE_NUMBER+=1")endlocal@echo off setlocal enabledelayedexpansion set "INPUT_FILE=input.txt" set "OUTPUT_PREFIX=output" set "LINE_NUMBER=1" for /f "delims=" %%A in ('type "%INPUT_FILE%"') do ( set "LINE=%%A" echo !LINE! > "!OUTPUT_PREFIX!!LINE_NUMBER!.txt" set /a "LINE_NUMBER+=1" ) endlocal@echo off setlocal enabledelayedexpansion set "INPUT_FILE=input.txt" set "OUTPUT_PREFIX=output" set "LINE_NUMBER=1" for /f "delims=" %%A in ('type "%INPUT_FILE%"') do ( set "LINE=%%A" echo !LINE! > "!OUTPUT_PREFIX!!LINE_NUMBER!.txt" set /a "LINE_NUMBER+=1" ) endlocal
但是,set /a
不是正确的语法。在批处理中,算术扩展应该使用 set /A
(注意大小写敏感),但是在这个上下文中,我们其实不需要算术扩展,因为 LINE_NUMBER
是在 for
循环中通过变量扩展来递增的。但是,由于我们是在一个块(由括号 (
和 )
包围的代码)内部使用延迟变量扩展,我们需要使用 !
而不是 %
来引用变量 LINE_NUMBER
。
![图片[1]_将文本文件中的每行内容分别导出到单独的文本文件 – 使用批处理脚本自动化处理_知途无界](https://zhituwujie.com/wp-content/uploads/2024/05/d2b5ca33bd20240502113821.png)
然而,我们可以进一步优化脚本,避免使用 call
和延迟变量扩展来递增 LINE_NUMBER
,因为 for
循环自身就可以处理这个问题。下面是最终版本的脚本:
@echo offsetlocalset "INPUT_FILE=input.txt"set "OUTPUT_PREFIX=output"set "COUNTER=1"for /f "delims=" %%A in ('type "%INPUT_FILE%"') do (echo %%A > "%OUTPUT_PREFIX%!COUNTER!.txt"set /a COUNTER+=1)endlocal@echo off setlocal set "INPUT_FILE=input.txt" set "OUTPUT_PREFIX=output" set "COUNTER=1" for /f "delims=" %%A in ('type "%INPUT_FILE%"') do ( echo %%A > "%OUTPUT_PREFIX%!COUNTER!.txt" set /a COUNTER+=1 ) endlocal@echo off setlocal set "INPUT_FILE=input.txt" set "OUTPUT_PREFIX=output" set "COUNTER=1" for /f "delims=" %%A in ('type "%INPUT_FILE%"') do ( echo %%A > "%OUTPUT_PREFIX%!COUNTER!.txt" set /a COUNTER+=1 ) endlocal
请注意,我已经将 enabledelayedexpansion
注释掉了,因为我们不再需要它。现在,我们使用 !COUNTER!
在 for
循环中,但这只是因为 %%A
是当前行的内容,而 COUNTER
是我们手动递增的计数器。
确保将上述代码保存为 .bat
文件,并在与 input.txt
相同的目录中运行它,或者修改 INPUT_FILE
变量的值以指向正确的文件路径。
© 版权声明
文中内容均来源于公开资料,受限于信息的时效性和复杂性,可能存在误差或遗漏。我们已尽力确保内容的准确性,但对于因信息变更或错误导致的任何后果,本站不承担任何责任。如需引用本文内容,请注明出处并尊重原作者的版权。
THE END
暂无评论内容