我有一个这样的文本文件
11111
2222
3333
44
我想用批处理文件把它颠倒过来
44
3333
2222
11111
任何提示高度赞赏....
这将适用于合理数量的行。
@echo off
setlocal enabledelayedexpansion
set c=2000000000
for /f "delims=" %%a in (filein.txt) do (
set /a c=c-1
set "line[!c!]=%%a"
)
(for /f "tokens=1* delims==" %%a in (' set line[ ') do echo %%b)>output.txt
endlocal
尝试使用 Unix 工具tac(CoreUtils for Windows):
tac filein.txt > fileout.txt
确保您的文本不包含"
. 然后:
SETLOCAL ENABLEDELAYEDEXPANSION
COPY NUL reversed_text_file.txt
FOR /F "DELIMS=*" %%l IN (your_text_file.txt) DO (
SET "line=%%l"
ECHO.!line!>temp_line.txt
COPY temp_line.txt+reversed_text_file.txt
MOVE /Y temp_line.txt reversed_text_file.txt
)
如果您不能保证有非引号字符,您应该尝试批处理以外的其他解决方案。
编辑:改进!