标题: [其他] 批处理在桌面上可以执行但在其它目录为何出错? [打印本页]
作者: mattmonkey 时间: 2011-8-2 08:07 标题: 批处理在桌面上可以执行但在其它目录为何出错?
系统是window7
我在桌面有两个文件,一个genxpcom.bat 一个是sample.idl.
在桌面双击执行OK
在命令窗口执行OK
然后把上面两个文件复制到D盘。
双击执行 出错 '\bin\xpidl.exe' 不是内部或外部命令,也不是可运行的程序
以管理员权限执行 出错 ** WARNING **: Parse of sample.idl failed: No such file or directory
在命令行执行OK
太诡异了...
求两个出错的解释
求普通双击和管理员权限双击执行的区别
求解决方案
genxpcom.bat- @echo off
- %XUL_HOME%\bin\xpidl.exe -m header -I %XUL_HOME%\idl sample.idl
- %XUL_HOME%\bin\xpidl.exe -m typelib -I %XUL_HOME%\idl sample.idl
- echo over... & pause > nul
复制代码
sample.idl
[略]
另外,论坛好像对firefox不兼容么。分类框会自己消失掉
作者: hfg1977 时间: 2011-8-2 08:38
"Parse of sample.idl failed: No such file or directory"
google 翻译 : sample.idl解析失败:没有那个文件或目录
对于新同学,还是要详细的解释一下:
CMD执行命令,一定要在其可查找的目录范围内存在才可以.
你把bat移动到d:盘, CMD找不到那个xpidl.exe文件了,所以报错.
解决:- @echo off
-
- 文件的绝对位置\bin\xpidl.exe -m header -I %XUL_HOME%\idl sample.idl
-
- 文件的绝对位置\bin\xpidl.exe -m typelib -I %XUL_HOME%\idl sample.idl
-
- echo over... & pause > nul
复制代码
- cd "%file_path%"
- code ...
- 或者
- pushd "%file_path%"
- code ...
复制代码
作者: mattmonkey 时间: 2011-8-2 08:50
%XUL_HOME% 是我设的一个环境变量,是个绝对路径。
如果加一句 echo %XUL_HOME%
会显示 echo 处于关闭
作者: mattmonkey 时间: 2011-8-2 08:53
另外 sample.idl 是和 bat文件一起复制到D盘的
作者: mattmonkey 时间: 2011-8-2 09:12
把sample.idl改成 %~dp0\sample.idl 就好了 。
奇怪的为什么在桌面可以不加呢?
而且放到其他目录,不修改的情况下 echo %xul_home% 会说已经关闭...
作者: enliang 时间: 2011-8-2 09:19
好久没来了。。。。。。
作者: enliang 时间: 2011-8-2 09:20
window7 批处理中reg这个命令是不是不能用了
作者: lfoqtal 时间: 2011-8-2 11:27
把sample.idl改成 %~dp0\sample.idl 就好了 。
奇怪的为什么在桌面可以不加呢?
而且放到其他目录,不修改 ...
mattmonkey 发表于 2011-8-2 09:12
问题在于你那个%xul_home%是怎么获取的?默认系统是没这个参数的
作者: cjiabing 时间: 2011-8-2 12:05
- echo %xul_home% 会说已经关闭...
复制代码
这个问题解决了没有?
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |