我有一个像这样的文本文件
11111
2222
3333
44
我希望用批处理文件将其颠倒过来
44
3333
2222
11111
任何提示都非常赞赏......
答案 0 :(得分:4)
这将适用于合理数量的行。
@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
答案 1 :(得分:1)
使用Unix工具tac(CoreUtils for Windows):
进行尝试tac filein.txt > fileout.txt
答案 2 :(得分:0)
确保您的文字不包含"
。然后:
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
)
如果你不能保证有非引号字符,你应该尝试另外的解决方案,然后再批处理。
编辑:改进!