[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
不知道为什么不用set写非要用sed呢,明天我补一个。

TOP

本帖最后由 冷玉公子 于 2011-9-26 22:38 编辑

来答题的:
首先要说一下 AWK 所使用的
  1. sed -i "3s/=69CV350/=69CV380/" "%userprofile%\桌面\*.txt"
复制代码

也是可行的但是需要第三方软件sed,第三方软件在特殊情况下使用确实有奇效,但是一般还是不建议用的。
具观察AWK同志中意的第三方命令程序基本上都是Linux的,所以看来是Linux的Shell高手啊

像楼主的这个题,如果是这么简单的话。用Set命令的方法是:
  1. 将要替换的值赋值于一个变量例如是变量是:Str
  2. Set Str=%Str:69CV350=69CV380%
  3. 意思就是将变量Str中的69CV350替换为69CV380
复制代码

具体按照楼主要求用的批处理整体就是这样的
  1. @Echo Off&SetLocal EnableDelayedExpansion
  2. For /R F:\Temp\P %%A In (*.txt) Do (
  3. @Rem 搜索指定目录下的指定所有txt文件
  4. For /F %%B In (%%A) Do (
  5.   Set "Str=%%B"
  6.   Set "Str=!Str:69CV350=69CV380!"
  7.   Echo !Str!
  8. @Rem 第二个For循环的意思是读取文本中的内容如果碰到69CV350就替换为69CV380
  9. )
  10. )
  11. Pause
复制代码

这里我用的测试文本为:100.txt 路径为:F:\Temp
只是测试并没有输出到文件,如果是学习这样就够了。
但是如果是求具体应用批处理的话,就要把详细的信息和想实现的东西说出来了。
上面的只是方法,供学习用。

TOP

返回列表