你好,我正在尝试弄清楚如何从网络运行文件,基本上它位于 \10.18.xx.xx\installers\install.bat,所以是的,当我手动找到它时,它会提示输入用户名和密码。
通过确定计算机中的 MS Outlook 版本,我应该在 bat 文件中使用哪些代码来从特定共享文件夹运行 install.bat。例如:MS Outlook 是 32 位版本,那么它将从 32 位文件夹运行 install.bat,对于 MS Outlook 64 位版本,它将从 64 位文件夹运行 install.bat。TIA!
抱歉,这个问题很愚蠢,我是批处理命令的新手。电脑使用的是 MS Outlook 2013。无论如何,我尝试执行此操作并从桌面运行此 bat 文件,但它在运行后立即关闭,就像什么都没发生一样。
CheckOS
IF EXIST "%PROGRAMFILES(X86)%" (GOTO 64BIT) ELSE (GOTO 32BIT)
:64BIT
\\10.18.xx.xx\Shared_Installers\PhishingOutlookPluginPH\64bit\install.bat -u
myuser -p mypass
GOTO END
:32BIT
\\10.18.xx.xx\Shared_Installers\PhishingOutlookPluginPH\32bit\install.bat -u
myuser -p mypass
GOTO END
:END
答案1
在调试批处理脚本时,不要只通过单击图标来启动它们,而要从命令行(cmd.exe
)启动它们。否则,您将看不到错误消息。现在,对于实际问题...
可能存在这个错误:
UNC path are not supported. Defaulting to Windows directory.
您不能在
.bat
批处理脚本中使用 UNC 路径引用共享。选项:重命名脚本以
.cmd
启用 UNC 支持。使用
pushd
(和popd
) 临时映射网络驱动器,例如:pushd \\10.18.xx.xx\Shared_Installers\PhishingOutlookPluginPH\64bit\ install.bat -u popd
您无法在脚本的新行中输入用户名和密码!选项:
使用映射网络驱动器
net use
并将凭据作为参数提供。但是,您将不再拥有使用或 UNC 的优势pushd
,并且最终会在脚本中泄露密码。仅包含软件更新的共享上没有什么秘密。(我相信你的
Shared_Installers
共享就是这样的)。只需将读取权限添加到每个人问题就解决了。
只是一点提示...
IF EXIST "%PROGRAMFILES(X86)%"
您只检查操作系统是否为 64 位。这不能告诉您 Office 安装是否也是 64 位。在您的环境中,这可能始终是正确的,但不能一概而论。另外,有时即使在 x64 操作系统上也最好使用 x86 Office。Bitness
您可以使用at的值HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\XX.0\Outlook
(XX
即 Office 版本)来确定已安装的版本。如果每个人都有相同的主版本,那么编写脚本应该很容易,即使他们没有,也有可能。