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

[文本处理] 批处理如何删除文本中多个相同字符的其中一个字符

比如我的TXT文本里面的内容是
d:\321\123\999.jpg
d:\321\123\998.jpg
d:\321\123\997.jpg
d:\321\123\996.jpg
d:\321\123\995.jpg
我要把JPG文件前面的\个这符名删除.但是321和123文件夹前的\这个符号要留下来.变成
d:\321\123 999.jpg
d:\321\123 998.jpg
d:\321\123 997.jpg
d:\321\123 996.jpg
d:\321\123 995.jpg
用批处理可以做得到吗???

如果都是3层目录:
  1. @echo off
  2. set file="1.txt"
  3. for /f "usebackq tokens=1-4 delims=\" %%a in (%file%) do (
  4.   if not defined clear set clear= > %file%
  5.   echo %%a\%%b\%%c %%d>> %file%
  6. )
复制代码
如果目录层数不相等:
  1. @echo off
  2. set file="1.txt"
  3. for /f "usebackq delims=" %%a in (%file%) do (
  4.   if not defined clear set clear= > %file%
  5.   set var=%%~dpa?%%~nxa
  6.   setlocal enabledelayedexpansion
  7.   echo !var:\?= !>> %file%
  8.   endlocal
  9. )
复制代码

[ 本帖最后由 tireless 于 2009-6-7 15:36 编辑 ]

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f %%i in (1.txt) do (
  3.     set a=%%i
  4.     set a=!a:123\=123 !
  5.     echo. !a!
  6. )
  7. pause
复制代码
把1.txt改成你的那个文件路经

TOP

返回列表