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

[其他] 批处理在桌面上可以执行但在其它目录为何出错?

系统是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
  1.     @echo off
  2.    %XUL_HOME%\bin\xpidl.exe -m header -I %XUL_HOME%\idl sample.idl
  3.    %XUL_HOME%\bin\xpidl.exe -m typelib -I %XUL_HOME%\idl sample.idl
  4.    echo over... & pause > nul
复制代码
sample.idl
[略]

另外,论坛好像对firefox不兼容么。分类框会自己消失掉

"Parse of sample.idl failed: No such file or directory"
google 翻译 : sample.idl解析失败:没有那个文件或目录

对于新同学,还是要详细的解释一下:
CMD执行命令,一定要在其可查找的目录范围内存在才可以.

你把bat移动到d:盘, CMD找不到那个xpidl.exe文件了,所以报错.

解决:
  1. @echo off
  2.    文件的绝对位置\bin\xpidl.exe -m header -I %XUL_HOME%\idl sample.idl
  3.    文件的绝对位置\bin\xpidl.exe -m typelib -I %XUL_HOME%\idl sample.idl
  4.    echo over... & pause > nul
复制代码
  1. cd "%file_path%"
  2. code ...
  3. 或者
  4. pushd "%file_path%"
  5. code ...
复制代码
“阿姐走了。。。可是。。。我。。。我愿意。”

TOP

%XUL_HOME% 是我设的一个环境变量,是个绝对路径。
如果加一句  echo   %XUL_HOME%
会显示 echo 处于关闭

TOP

另外 sample.idl 是和 bat文件一起复制到D盘的

TOP

把sample.idl改成 %~dp0\sample.idl 就好了 。
奇怪的为什么在桌面可以不加呢?
而且放到其他目录,不修改的情况下 echo %xul_home% 会说已经关闭...

TOP

好久没来了。。。。。。

TOP

window7 批处理中reg这个命令是不是不能用了

TOP

把sample.idl改成 %~dp0\sample.idl 就好了 。
奇怪的为什么在桌面可以不加呢?
而且放到其他目录,不修改 ...
mattmonkey 发表于 2011-8-2 09:12



    问题在于你那个%xul_home%是怎么获取的?默认系统是没这个参数的
通用简洁实用就是批处理精神

TOP

  1. echo %xul_home% 会说已经关闭...
复制代码
这个问题解决了没有?
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

返回列表