找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27966|回复: 3

[文本处理] 【已解决】BAT:如何批量删除txt文本内数据间的空格,并添加固定字符

[复制链接]
发表于 2014-12-31 11:02:34 | 显示全部楼层 |阅读模式
本帖最后由 思想之翼 于 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
这样的代码如何写?恳望得到帮助。

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2014-12-31 11:37:39 | 显示全部楼层
运行前先备份
  1. @echo off&setlocal enabledelayedexpansion
  2. pushd "D:/数据/"
  3. for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
  4.     (for /f "usebackq delims=" %%j in ("%%i") do (
  5.         set "str=%%j"
  6.         echo;!str: =!=1-3
  7.     ))>"%temp%\$"
  8.     move "%temp%\$" "%%i" >nul
  9. )
  10. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
思想之翼 + 1 感谢

查看全部评分

发表于 2014-12-31 12:50:49 | 显示全部楼层
本帖最后由 慕夜蓝化 于 2014-12-31 12:53 编辑

  1. @echo off
  2. for /r d:\数据\ %%i in (*txt) do (
  3.     for /f "usebackq delims=" %%b in ("%%~fi") do (
  4.         call :a "%%b"
  5.         )
  6.     move /y $β "%%~fi" >nul
  7. )
  8. pause&exit
  9. :a
  10. (for %%a in (%~1) do (
  11.     set/p=%%a<nul
  12. )
  13. echo,=1-3)>>$β
  14. goto :eof
复制代码
若d:\数据\下含有子目录,那么子目录中的文件也会更改
如果不想更改,请将for /r那句 ,替换为

  1. for /f "delims=" %%i in ('dir /b/aa d:\数据\*txt') do (
复制代码

评分

参与人数 1技术 +1 收起 理由
思想之翼 + 1 感谢

查看全部评分

 楼主| 发表于 2014-12-31 17:58:45 | 显示全部楼层
学习。谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 21:33 , Processed in 0.018341 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表