2

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

4

4 回答 4

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

您还可以在 Windows 上使用 sed

sed "s/..$//" list.txt>list.txt.new
于 2013-08-29T09:34:22.703 回答
2

使用名为REPL.BAT的混合 JScript/批处理实用程序

type list.txt | repl ..$ "" >list.txt.new

如果你想覆盖原来的,然后添加这个命令

move /y list.txt.new list.txt >nul
于 2013-08-29T16:13:31.503 回答
0

基本上,您获取您读取的字符串的子字符串。

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

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

于 2013-08-29T09:19:33.380 回答
0

我只是想这样做,但有一个cut实现。我在这里添加它以防有人也想要它。

rev list.txt | cut --complement  -c -2 | rev >> new_list.txt 
于 2021-10-19T15:24:18.030 回答