批处理文件在我的桌面上运行正常,但在虚拟桌面上运行不正常为什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批处理文件在我的桌面上运行正常,但在虚拟桌面上运行不正常为什么?相关的知识,希望对你有一定的参考价值。

Check if a file exists in zip archive之后,我有一个处理目录中某些文件的批处理文件,我在其中使用了这一行:

call zipjs.bat list -source "C:myZip.zip" -flat yes|find /i "filename" && (
  echo file exists
  color 
)|| (
  echo file does not exist
)

我在与我的批处理文件相同的目录中有zipjs.bat

桌面 - > MyBatch.bat

桌面 - > zipjs.bat

MyBatch.batzipjs.bat并在我的机器上正常工作。

问题:

我可以访问虚拟机来测试我的代码,它是一个运行有一些软件的Windows桌面。没有什么花哨。在那里,我还将myBatch.batzipjs.bat放在同一目录下(桌面)。但是,每当我运行myBatch时,它都会提示“zipjs.bat不是一个可识别的命令”。这就像myBatch找不到zipjs.bat。可能是什么问题?

答案

如果使用管理员权限启动bat,它将在system32文件夹中启动。尝试在文件的开始处设置cd /d "%~dp0"(cd命令更改工作目录和/d开关以防万一需要在不同的驱动器之间跳转)。

%0参数是批处理文件本身(如果没有使用shift命令),所以使用%~dp0你得到驱动器和path to the file(没有文件名)。

以上是关于批处理文件在我的桌面上运行正常,但在虚拟桌面上运行不正常为什么?的主要内容,如果未能解决你的问题,请参考以下文章

javascript代码在chrome移动浏览器中不起作用,但在桌面上它工作正常

有没有办法在我的桌面上运行 .lnk 文件并等待它完成?

我的视图在我的桌面上可以正常使用,但不适用于我的手机

在我自己的桌面上使用 virtualbox LAMP

jquery 脚本在桌面上工作,但在 iphone 上滞后

如何在我的 Windows 桌面上运行 localhost 的移动设备上运行我的 Angular 站点[重复]