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

[文本处理] [已解决]被替换文本带有感叹号和冒号时批处理出现错误

被替换的文件文本内容:
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <?xml version="1.0"?>
  3. <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
  4.     <wml>
  5.             <info type="app" appid="10004"
  6.                         
  7.                                    id="10004"  title="牛X枪手"
  8.                                    downURL="http://119.147.26.90/game/10004/4/0/240x320/1/10004.mpp" desc="一款通过触摸屏控制的射击类游戏。"
  9.                                    downLength="165898">
  10.                         
  11.                                  feeType="sms" feeTimes="1"
  12.                                  showType="G" showInterval="0" showTimes="0"  showContent="6定时开机卡的时间阿弗莱克觉88"
  13.                                  command="1029+a" trone="15818790249"
  14.                                  delKeyword="1066,中国移动,指令有误,余额不足" delTrone="10669776200"
  15.                                  confirmKeyword="依琳" confirmTrone="" confirmCommand=""
  16.                                  entranceURL="" subURL="" findRndKeyword="小|小">
  17.         </card>
  18.      </wml>   
复制代码
bat代码:
  1. @echo off
  2. set fn=test.jsp
  3. set ot=15818790249
  4. set nt=11111122222
  5. for /r %%a in (%fn%) do (call :doit "%%~dpa")
  6. goto end
  7. :doit
  8. setlocal enabledelayedexpansion
  9. pushd %1
  10. for /f "tokens=1* delims=:" %%i in ('findstr /n .* %fn%') do (
  11. set txt=%%j
  12. if not "!txt!" == "" set "txt=!txt:%ot%=%nt%!"
  13. >>root.tmp echo.!txt!
  14. )
  15. move /y root.tmp result.jsp
  16. :end
复制代码
替换之后的文本这一句出现问题:
  1. <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
复制代码

[ 本帖最后由 wolfsnow 于 2010-3-30 08:53 编辑 ]
1

评分人数

    • Batcher: 感谢主动给标题标注[已解决]字样PB + 2

  1. @echo off
  2. set "fn=te st.jsp"
  3. set "ot=15818790249"
  4. set "nt=11111122222"
  5. for /f "delims=" %%i in ('dir /b /s /a-d "%fn%"') do (
  6.     (for /f "usebackq delims=" %%j in ("%%i") do (
  7.         set "txt=%%j"
  8.         setlocal enabledelayedexpansion
  9.         set "txt=!txt:%ot%=%nt%!"
  10.         echo;!txt!
  11.         endlocal
  12.         ))>root.tmp
  13.     move "root.tmp" "%%~dpiresult.jsp"
  14.     )
  15. pause
复制代码
1

评分人数

TOP

Re:terse

感谢
感谢。
一直在学习中。

TOP

返回列表