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

问题描述 投票:1回答:1

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。可能是什么问题?

windows batch-file cmd
1个回答
2
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.