批处理文件在我的桌面上运行正常,但在虚拟桌面上运行不正常为什么?
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.bat
称zipjs.bat
并在我的机器上正常工作。
问题:
我可以访问虚拟机来测试我的代码,它是一个运行有一些软件的Windows桌面。没有什么花哨。在那里,我还将myBatch.bat
和zipjs.bat
放在同一目录下(桌面)。但是,每当我运行myBatch
时,它都会提示“zipjs.bat不是一个可识别的命令”。这就像myBatch
找不到zipjs.bat
。可能是什么问题?
答案
如果使用管理员权限启动bat,它将在system32文件夹中启动。尝试在文件的开始处设置cd /d "%~dp0"
(cd命令更改工作目录和/d
开关以防万一需要在不同的驱动器之间跳转)。
%0
参数是批处理文件本身(如果没有使用shift
命令),所以使用%~dp0
你得到驱动器和path to the file(没有文件名)。
以上是关于批处理文件在我的桌面上运行正常,但在虚拟桌面上运行不正常为什么?的主要内容,如果未能解决你的问题,请参考以下文章