Board logo

标题: [文件操作] [已解决]批处理如何将某个文件当中的字串符替换? [打印本页]

作者: wangxiulin    时间: 2011-9-8 20:02     标题: [已解决]批处理如何将某个文件当中的字串符替换?

本帖最后由 wangxiulin 于 2011-9-8 22:38 编辑

我做的是将按键精灵的代码换成易语言的代码...

比如:
按键精灵的代码为
  1. '==========以下是按键精灵录制的内容==========
  2. MoveTo 448, 202
  3. Delay 406
  4. MoveTo 449, 202
  5. MoveTo 451, 202
  6. Delay 16
  7. MoveTo 453, 202
  8. MoveTo 455, 202
  9. Delay 15
  10. MoveTo 457, 202
  11. MoveTo 459, 202
  12. Delay 16
  13. MoveTo 461, 202
  14. MoveTo 463, 202
  15. Delay 15
  16. MoveTo 464, 202
  17. '==========以上是按键精灵录制的内容==========
复制代码
我想将里面的“MoveTo”替换成“鼠标移动 (, 取鼠标水平位置 () + ”

将 “Delay XX”替换为“延时 (XX)”

XX为任意数字
求大神解决..如果能解决..以后再也不用按键精灵那单一的软件了
作者: hankerer    时间: 2011-9-8 20:34

回复 1# wangxiulin
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1,2,*delims= " %%a in (1.txt) do (
  4. if "%%a" == "MoveTo" (
  5. set aa=%%a
  6. echo !aa:MoveTo=鼠标移动 ^(, 取鼠标水平位置 ^(^) + ! %%b %%c>>2.txt
  7. )
  8. if "%%a" == "Delay" (
  9. set aa=%%a
  10. echo !aa:Delay=延时 ^(!%%b^)>>2.txt
  11. )
  12. )
  13. pause
复制代码

作者: cjiabing    时间: 2011-9-8 20:37

直接在记事本上手工替换也很快的。
  1. for  /f  "tokens=1*"  %%a in (a.txt) do (
  2. if /i  %%a==Delay echo 延时 (%%b)
  3. if /i  "%%a"=="MoveTo" echo 鼠标移动 ^(, 取鼠标水平位置 ^(^) ^+
  4. )
复制代码

作者: wangxiulin    时间: 2011-9-8 20:52

回复 2# hankerer


    谢谢...表示真挚的感谢
作者: wangxiulin    时间: 2011-9-8 20:53

回复 4# wangxiulin


    谢谢...灰常的谢谢...




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2