删除文本文件中每行的最后2个字符

时间:2013-08-29 09:15:07

标签: batch-file text-files

如何创建批处理文件,删除名为list.txt的txt文件的每一行的最后两个字符

3 个答案:

答案 0 :(得分:3)

@echo off &setlocal
(for /f "delims=" %%a in (list.txt) do (
    set "line=%%a"
    setlocal enabledelayedexpansion
    set "line=!line:~0,-2!"
    echo(!line!
    endlocal
))>list.txt.new

您也可以使用sed for Windows

sed "s/..$//" list.txt>list.txt.new

答案 1 :(得分:2)

使用名为REPL.BAT

的混合JScript /批处理实用程序
type list.txt | repl ..$ "" >list.txt.new

如果要覆盖原件,请添加此命令

move /y list.txt.new list.txt >nul

答案 2 :(得分:0)

基本上你要读取你读过的字符串的子字符串。

set str=politic
echo.%str%
set str=%str:~0,4%
echo.%str%

由于您无法覆盖文件本身,只需复制原始文件即可。使用上面的方法在那里写新字符串来更改它们。然后用新文件替换旧文件。有关详细信息,请查看以下链接 Batch / Find And Edit Lines in TXT file