文件中的字符

问题描述 投票:-1回答:2

我有一个程序可以像这样创建一个文件myself.txt

2020/05/04 19:11:43      10113  35.11154    6.69945   2.081 254
2020/05/04 19:12:04      10113  35.11159    6.69926   1.294 294
2020/05/04 19:12:10      10100  35.08132    6.67381   1.997 346

是否可以批量删除每行的一部分以得到此结果?

2020/05/04 19:11:43      10113  35.11154
2020/05/04 19:12:04      10113  35.11159
2020/05/04 19:12:10      10100  35.08132
batch-file replace
2个回答
0
投票
@echo off
(   for /f "tokens=1-4" %%A in (myself.txt) do (
        echo %%A %%B      %%C  %%D
    )
) > new.txt

您的文件有7个令牌,但您只需要第1个4个令牌。 for /f循环以及选项tokens=1-4将使您获得1st 4个令牌。


0
投票

此方法保留直到给定令牌的相同数据,包括行中的现有相同空格

@echo off
setlocal EnableDelayedExpansion

(for /F "delims=*" %%a in (input.txt) do (
   call :PreserveUpToToken#4 %%a
)) > output.txt
goto :EOF

:PreserveUpToToken#4
set "line=%*"
set "line=!line:%4=%4& rem!"
echo %line%
exit /B
© www.soinside.com 2019 - 2024. All rights reserved.