[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 【已解决】BAT:批量删除txt文本特定位置的内容(位置变化,再次请教)

曾请教问题:
有若干txt文本,记录内容相似,格式如下:
气象水文状况:
第1站—9256740381

箱外温湿梯度:
1— 1020 1015 1014 1009 1002 999 996 988 987 970
欲批量删除特定位置的内容,仅保留第二行的一串数字(加空格) 9 2 5 6 7 4 0 3 8 1

解决代码:
@echo off & setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /a-d /b *.txt') do (
    (for %%a in (1 1) do set /p Num=)<"%%i"
    set "Num=!Num:*—=!"
    for /l %%a in (0 1 9) do set "Num=!Num:%%a= %%a!"
    echo,!Num:~1!>"%%i"
)
exit

再请教问题:
有若干txt文本,记录内容相似,格式如下(详见附件):
计时        站点        箱内值        箱外值        梯度值        度
13039        1        8        7        2        0
13040        1        32        19        5        1
13041        1        8        0        15        0
13042        1        8        1        14        1
13043        1        9        3        3        2
13044        1        40        2        17        0
13045        1        15        7        10        0
13046        1        3        40        21        0
.....        .        ..        ..        ..        .
欲批量删除多个txt文本特定位置的内容,仅保留最后一列数字,格式如下:
0
1
0
1
2
0
0
.
.
如何写bat代码?恳望得到帮助!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 2# lifei259
删了原文件内容,仅保留第一行,下述代码如何修改?恳望继续得到您的帮助!
for /f "delims=" %%i in ('dir /a-d /b *.txt') do (
for /f "usebackq skip=1 tokens=6" %%a in ("%%i") do (
echo.%%a>>$
)
move $ "%%~fi"
)
pause

TOP

感谢您的大力帮助!

TOP

  1. for /f "delims=" %%i in ('dir /a-d /b *.txt') do (
  2. for /f "usebackq skip=1 tokens=6" %%a in ("%%i") do (
  3. echo.%%a>>$
  4. )
  5. move $ "%%~fi"
  6. )
  7. pause
复制代码
删了原文件内容,仅保留最后一列
1

评分人数

TOP

返回列表