[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. if exist "C:\Users\%username%\AppData\Roaming\Microsoft\FSX\dll.xml" (
  3.     set "file=C:\Users\%username%\AppData\Roaming\Microsoft\FSX\dll.xml"
  4. ) else if exist "C:\Documents and Settings\%username%\Application Data\Microsoft\FSX\dll.xml" (
  5.     set "file=C:\Documents and Settings\%username%\Application Data\Microsoft\FSX\dll.xml"
  6. ) else (
  7.     echo 找不到文件 dll.xml
  8.     pause
  9.     exit
  10. )
  11. (for /f "usebackq delims=" %%i in ("%file%") do (
  12.     set "str=%%i"
  13.     setlocal enabledelayedexpansion
  14.     if "!str: =!" == "</SimBase.Document>" (
  15.         echo  ^<Launch.Addon^>
  16.         echo    ^<Name^>FSCopilot^</Name^>
  17.         echo    ^<Disabled^>False^</Disabled^>
  18.         echo    ^<Path^>Modules\FSCopilot.dll^</Path^>
  19.         echo  ^</Launch.Addon^>
  20.     )
  21.     echo !str!
  22.     endlocal
  23. ))>dll.xml.new
  24. move /y dll.xml.new dll.xml
复制代码

TOP

我觉得问题可能是这样的,代码中,可能没有跳过某个命令的字段,是在按顺序查找文件,当执行到下一个查找时,发现没文件,就退出运行了。

也不知道说的对不对,错了勿怪!!!

TOP

回复 17# fsxhome


    16楼的代码试过没?

TOP

回复 16# DAIC

提示这错误

TOP

回复 19# fsxhome


把 @echo off 删掉,再执行一次,看看哪一行在报错。
另外,用记事本打开bat,文件,另存为,看看编码是不是ANSI

TOP

回复 20# DAIC


    大侠:

    抱歉,之前是我复制粘贴时,代码格式发生了变化。

   16楼的代码是可以成功执行的,但还是有个问题,他执行后,生成的文件,是在BAT文件所在的位置,不是在原位置。

TOP

回复 21# fsxhome
  1. @echo off
  2. if exist "C:\Users\%username%\AppData\Roaming\Microsoft\FSX\dll.xml" (
  3.     set "file=C:\Users\%username%\AppData\Roaming\Microsoft\FSX\dll.xml"
  4.     set "folder=C:\Users\%username%\AppData\Roaming\Microsoft\FSX"
  5. ) else if exist "C:\Documents and Settings\%username%\Application Data\Microsoft\FSX\dll.xml" (
  6.     set "file=C:\Documents and Settings\%username%\Application Data\Microsoft\FSX\dll.xml"
  7.     set "folder=C:\Documents and Settings\%username%\Application Data\Microsoft\FSX"
  8. ) else (
  9.     echo 找不到文件 dll.xml
  10.     pause
  11.     exit
  12. )
  13. (for /f "usebackq delims=" %%i in ("%file%") do (
  14.     set "str=%%i"
  15.     setlocal enabledelayedexpansion
  16.     if "!str: =!" == "</SimBase.Document>" (
  17.         echo  ^<Launch.Addon^>
  18.         echo    ^<Name^>FSCopilot^</Name^>
  19.         echo    ^<Disabled^>False^</Disabled^>
  20.         echo    ^<Path^>Modules\FSCopilot.dll^</Path^>
  21.         echo  ^</Launch.Addon^>
  22.     )
  23.     echo !str!
  24.     endlocal
  25. ))>dll.xml.new
  26. move /y dll.xml.new "%folder%\dll.xml"
复制代码
3

评分人数

TOP

回复 22# DAIC


    成功了呀,大神,太佩服您了,太感谢您了,非常感谢您的热诚帮助!!!!

TOP

回复 23# fsxhome


    问题解决后,请编辑顶楼帖子在标题前面注明[已解决],并给回答者加分。

TOP

回复 24# DAIC


    注册不足24小时,评分受限制,明天来评分哈!


   大神留个QQ给我把,发消息就好了。

TOP

回复 25# fsxhome


    不聊qq,有问题就来论坛讨论吧。

TOP

本帖最后由 fsxhome 于 2014-4-22 22:16 编辑

回复 26# DAIC


     好的呀,非常感谢!

    有空来我论坛玩玩哦: 模拟飞行之家 www.fsxhome.com.cn

TOP

返回列表