使用批处理将文本文件上下颠倒

时间:2013-08-20 11:19:42

标签: batch-file

我有一个像这样的文本文件

11111
2222
3333
44

我希望用批处理文件将其颠倒过来

44
3333
2222
11111

任何提示都非常赞赏......

3 个答案:

答案 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工具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
)

如果你不能保证有非引号字符,你应该尝试另外的解决方案,然后再批处理。

编辑:改进!