Windows

根據 MS Outlook 位版本從網路共享文件夾執行批處理文件

  • November 15, 2019

您好我正在嘗試弄清楚如何從網路執行文件,基本上它位於 \10.18.xx.xx\installers\install.bat,所以是的,當我手動定位它時它會提示使用者名和密碼。

通過確定電腦具有哪個版本的 MS Outlook,我應該在 bat 文件中使用哪些程式碼來從特定共享文件夾執行 install.bat。例如:MS Outlook 是 32 位版本,那麼它將從 32 位文件夾執行 install.bat,對於 MS Outlook 64 位版本,它將從 64 位文件夾執行 install.bat。蒂亞!

抱歉這個愚蠢的問題,我是批處理命令的新手。電腦正在使用 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

在調試批處理腳本時,不要只通過點擊圖示來啟動它們,而是從命令行 ( cmd.exe) 啟動它們。否則,您將看不到錯誤消息。現在,對於實際問題…

  1. 可能有這個錯誤:
UNC path are not supported. Defaulting to Windows directory.

您不能在.bat批處理腳本中使用 UNC 路徑引用共享。選項:

  • 將腳本重命名為.cmd啟用 UNC 支持。
  • 使用pushd(and popd) 臨時映射網路驅動器,例如:
pushd \\10.18.xx.xx\Shared_Installers\PhishingOutlookPluginPH\64bit\
install.bat -u
popd
2. 您不能在腳本的新行中輸入使用者名和密碼!選項:


映射網路驅動器`net use`並將憑據作為參數提供。但是,您將不再具有使用`pushd`或 UNC 的優勢,並且您最終會在腳本中顯示密碼。
僅包含軟體更新的共享沒有什麼秘密。(我相信你`Shared_Installers`就是這樣的份額)。*只需為每個人*添加讀取權限,問題就解決了。
3. 只是一個提示......`IF EXIST "%PROGRAMFILES(X86)%"`你只檢查作業系統是否是 64 位。這也無法告訴您 Office 安裝是否也是 64 位的。在您的環境中,這可能總是正確的,但不能一概而論。此外,[有時](https://support.office.com/en-us/article/Choose-between-the-64-bit-or-32-bit-version-of-Office-2dee7807-8f95-4d0c-b5fe-6c6f49b8d261)甚至在 x64 作業系統上使用 x86 Office 會更好。


您可以使用`Bitness`at的值`HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\XX.0\Outlook`(`XX`即 Office 版本)來確定安裝的版本。如果每個人都有相同的主版本,那麼編寫腳本應該很容易,即使他們沒有。

引用自:https://serverfault.com/questions/862924