[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 CrLf 于 2012-5-3 17:31 编辑

实现是很容易,但是这效率...
  1. @echo off
  2. for /f "delims=" %%a in (a.txt) do (
  3.    set str=%%a
  4.    for /f "tokens=1* delims=#" %%b in (b.txt) do (
  5.       if %%a==%%c set str=%%b#%%c
  6.    )
  7.    setlocal enabledelayedexpansion
  8.    echo;!str!
  9.    endlocal
  10. )
  11. pause
复制代码
另,如果 a.txt 内容不长,b.txt 中的替换前长于替换后,而且要替换的内容中不含 = ! ~ * " 这几个特殊字符的话,可以试试这样:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (a.txt) do (
  3.    set test=!str!
  4.    set str=!str! "%%a"
  5.    if !str!==!test! (
  6.       set str=%%a
  7.       for %%b in (!str!) do echo;%%~b
  8.    )
  9.    for /f "tokens=1* delims=#" %%b in (b.txt) do (
  10.       set str=!str:%%c=%%b#%%c!
  11.    )
  12. )
  13. for %%b in (!str!) do echo;%%~b
  14. pause
复制代码
1

评分人数

    • Rasm: 继续努力技术 + 1

TOP

回复 14# Rasm


    已经修改...md5 验证?

TOP

返回列表