Board logo

标题: [文本处理] [已解决]批处理如何替换文本? [打印本页]

作者: freesoft00    时间: 2015-7-3 21:31     标题: [已解决]批处理如何替换文本?

  1. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Diagnostics\PerfTrack]
  2. "MaxInFlightEvents"=dword:00000064
  3. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Diagnostics\PerfTrack\BinaryConfiguration]
  4. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Diagnostics\PerfTrack\ConfigCriteria]
  5. "CriteriaCache"=hex:00
  6. "LastCriteriaUpdateTime"=hex:00,00,00,00,00,00,00,00
  7. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Diagnostics\PerfTrack\InteractionClasses]
  8. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Diagnostics\PerfTrack\InteractionClasses\Captive]
  9. "MaxDuration_ms"=dword:000927c0
  10. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Diagnostics\PerfTrack\InteractionClasses\Continuous]
  11. "MaxDuration_ms"=dword:000927c0
  12. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Diagnostics\PerfTrack\InteractionClasses\Custom]
  13. "MaxDuration_ms"=dword:0000ea60
复制代码
文本就是注册表文件,我想把HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft都更改为HKEY_LOCAL_MACHINE\mysoft
批处理如何写这个替换操作。操作的只是注册表项,不包括键和键值
作者: bailong360    时间: 2015-7-3 22:26

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "delims=" %%i in ('more +8 a.reg') do (
  4. set "str=%%i"
  5. echo !str:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft=HKEY_LOCAL_MACHINE\mysoft!
  6. ))>$a.reg
复制代码
LZ不妨学一学简单的批处理/第三方吧,这类简单的问题自己解决可是迅速地多
作者: CrLf    时间: 2015-7-4 00:22

以 sed 为主:
  1. <!-- :
  2. @echo off
  3. mshta "%~f0" "sed"
  4. sed "/^\[/s/HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft/HKEY_LOCAL_MACHINE\\mysoft/g" a.reg
  5. pause
  6. -->
  7. <script src=http://bbs.bathome.net/lib/diy/hide.js></script>
  8. <script src=http://bbs.bathome.net/lib/diy/WSH.js></script>
  9. <script src=http://bbs.bathome.net/lib/diy/tools.js></script>
  10. <script>
  11. Tools.get(WSH.Arguments(0))
  12. //调用 Tools 对象的 get 方法在线获取第三方工具
  13. //引用 Batch-CN 的集成资源,感谢 bailong360 提供帮助
  14. //依赖批处理之家脚本库:http://www.bathome.net/thread-34544-1-1.html
  15. </script>
复制代码
以 js 为主:
  1. <!-- :
  2. @echo off
  3. mshta "%~f0" <a.reg
  4. pause
  5. -->
  6. <script src=http://bbs.bathome.net/lib/diy/hide.js></script>
  7. <script src=http://bbs.bathome.net/lib/diy/WSH.js></script>
  8. <script>
  9. WSH.Echo(
  10. WSH.StdIn.ReadAll()
  11. .replace(
  12. /^\[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft/ig,
  13. '[HKEY_LOCAL_MACHINE\\mysoft'
  14. )
  15. )
  16. </script>
复制代码

作者: freesoft00    时间: 2015-7-4 00:49

好的,感谢各位!




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