曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 3218|回复: 0
打印 上一主题 下一主题

[实例.其它] 用指定字符替换指定内容

[复制链接]

716

主题

734

帖子

2946

积分

超级版主

Rank: 9Rank: 9Rank: 9

积分
2946
跳转到指定楼层
楼主
发表于 2014-6-4 19:18:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下面代码将接受用户的输入(被替换的字符串与替换后的字符串),并检索全文,逐行替换,代码如下:
  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 。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-6-17 20:51 , Processed in 0.078595 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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