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

[文本处理] 【已解决】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
这样的代码如何写?恳望得到帮助。
1

评分人数

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

学习。谢谢!

TOP

本帖最后由 慕夜蓝化 于 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

评分人数

踏实一些点.不要着急.你想要的时间都会给你.2

TOP

运行前先备份
  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

评分人数

TOP

返回列表