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

[文件操作] 批处理如何将文件中包含的字符串1替换为字符串2?

请问高手:
      如何将当前目录下所有文件中的字符串1(比如aaa)替换为字符串2(比如bbb)?
      注意,要保留原文件中的空行,除了替换字符串以外,没有任何改动。文件中没有特殊字符。

  1. @echo off
  2. Setlocal Enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b') do (
  4. set na=%%~ni
  5. set nb=%%~xi
  6. set nc=!na:aaa=bbb!
  7. if not "!nc!!nb!"=="%~nx0" ren "%%i" "!nc!!nb!"
  8. )
  9. pause
复制代码
试试看行不行,代码应该可以再次精简的,但俺水平有限,不知怎么简,有待高手出手...

TOP

可以一句搞定:
  1. @echo off&for /f "delims=" %%i in ('dir /s /a-d /b') do if "%%~nxi" neq "%~nx0" set str=%%~ni&call,ren "%%i" "%%str:aaa=bbb%%%%~xi"
复制代码
***共同提高***

TOP

返回列表