标题: [文本处理] 【已解决】BAT:批量删除txt文本特定位置的内容(位置变化,再次请教) [打印本页]
作者: 思想之翼 时间: 2013-12-8 23:54 标题: 【已解决】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代码?恳望得到帮助!
作者: lifei259 时间: 2013-12-9 00:55
- 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
复制代码
删了原文件内容,仅保留最后一列
作者: 思想之翼 时间: 2013-12-9 01:39
感谢您的大力帮助!
作者: 思想之翼 时间: 2014-1-19 02:16
回复 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
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |