曲径通幽论坛

标题: 用指定字符替换指定内容 [打印本页]

作者: easy    时间: 2014-6-4 19:18
标题: 用指定字符替换指定内容
下面代码将接受用户的输入(被替换的字符串与替换后的字符串),并检索全文,逐行替换,代码如下:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set file=
  4. set /p file=  请输入要操作的文件名称(包括扩展名):
  5. set "file=%file:"=%"
  6. for %%i in ("%file%") do set file=%%~fi
  7. echo.
  8. set replaced=
  9. set /p replaced= 请输入即将被替换的内容:
  10. echo.
  11. set all=
  12. set /p all=  请输入替换字符串:
  13. for /f "delims=" %%i in ('type "%file%"') do (
  14.     set str=%%i
  15.     set "str=!str:%replaced%=%all%!"
  16.     echo !str!>>"%file%"_tmp.txt
  17. )
  18. copy "%file%" "%file%"_bak.txt >nul 2>nul
  19. move "%file%"_tmp.txt "%file%"
  20. start "" "%file%"
复制代码

该代码主要利用了 set 命令的替换字串形式: %PATH:str1=str2% ,即将 str2 替换掉 str1 。





欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2