3

我试图弄清楚如何安装一些程序,其中组件驻留在网络路径上的两个不同驱动器上。但是,每当我使用时,pushd \\xyz\c$我都会得到一个映射驱动器,这意味着我无法使用任何使用知识c:\install e:\mycomponents.dll。无论如何,一旦我使用了 pushd 命令,我可以做到这一点吗?

例如,如何确保驱动器保持不变。我正在安装服务。所以似乎当我安装服务时,我需要保持路径与 .exe 的实际位置相同,这意味着我遇到了问题。

有没有办法简单地使用 pushd 但同时不实际映射驱动器?在安装服务时,当我一直在使用 时net use,我发现在映射的驱动器上安装存在问题,因为可以安装的服务在启动时找不到实际的 .exe服务。

net use因此,为了扩展这一点,有没有办法使用或组合来解决这个问题pushd,让我安装这样的服务:c:\windows\..\installutil e:\mynode

所以要澄清一下,我需要以某种方式能够通过它们的相对驱动器(即 E:\ 和 C:\路径。

问题一:

如果我使用 pushd,那么我看不到服务器上的两个驱动器号。

net use i: %Machine1PathFRM%
pushd %Machine1PathZIP%
i:\installutil /username=ABC /password=abc %ZMN%
popd

问题 2:

如果我使用net use然后我可以使用它来说安装工具,当涉及到运行服务时,Windows 无法找到本地文件,因为它执行了某种文件映射过程,这确实非常烦人。

REM Install Processes Machine 1

REM net use e: %Machine1PathZIP%
REM net use i: %Machine1PathFRM%
REM i:\installutil /username=ABC /password=abc e:\%ZMN%
REM i:\installutil /username=ABC /password=abc e:\%ZPL%
4

1 回答 1

3

pushd //xyz/c$还将当前目录更改为映射的驱动器号。

pushd //xyz/c$
for /F "delims=" %%A in ("%cd%") do set "mapDrive=%%~dA"
%mapDrive%\install %mapDrive%:\mycomponents.dll
于 2013-10-25T09:20:29.930 回答