标题: [文本处理] 【已解决】BAT:如何批量删除txt文本内数据间的空格,并添加固定字符 [打印本页]
作者: 思想之翼 时间: 2014-12-31 11:02 标题: 【已解决】BAT:如何批量删除txt文本内数据间的空格,并添加固定字符
本帖最后由 思想之翼 于 2015-1-3 22:04 编辑
D:/数据/内有多个txt文本,数据格式如下:
1 4 6 7 8 9
1 2 3 4 6 9
0 1 2 3 5 7
0 4 5 7 8 9
0 1 3 4 5 7
0 3 5 7 8 9
1 3 6 7 8 9
3 4 6 7 8 9
2 4 6 7 8 9
1 4 6 7 8 9
欲批量删除多个txt文本内数据间的空格,并添加固定字符=1-3,处理后数据格式如下:
146789=1-3
123469=1-3
012357=1-3
045789=1-3
013457=1-3
035789=1-3
136789=1-3
346789=1-3
246789=1-3
146789=1-3
这样的代码如何写?恳望得到帮助。
作者: terse 时间: 2014-12-31 11:37
运行前先备份- @echo off&setlocal enabledelayedexpansion
- pushd "D:/数据/"
- for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
- (for /f "usebackq delims=" %%j in ("%%i") do (
- set "str=%%j"
- echo;!str: =!=1-3
- ))>"%temp%\$"
- move "%temp%\$" "%%i" >nul
- )
- pause
复制代码
作者: 慕夜蓝化 时间: 2014-12-31 12:50
本帖最后由 慕夜蓝化 于 2014-12-31 12:53 编辑
- @echo off
- for /r d:\数据\ %%i in (*txt) do (
- for /f "usebackq delims=" %%b in ("%%~fi") do (
- call :a "%%b"
- )
- move /y $β "%%~fi" >nul
- )
- pause&exit
- :a
- (for %%a in (%~1) do (
- set/p=%%a<nul
- )
- echo,=1-3)>>$β
- goto :eof
复制代码
若d:\数据\下含有子目录,那么子目录中的文件也会更改
如果不想更改,请将for /r那句 ,替换为- for /f "delims=" %%i in ('dir /b/aa d:\数据\*txt') do (
复制代码
作者: 思想之翼 时间: 2014-12-31 17:58
学习。谢谢!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |