Windows
根據 MS Outlook 位版本從網路共享文件夾執行批處理文件
您好我正在嘗試弄清楚如何從網路執行文件,基本上它位於 \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
) 啟動它們。否則,您將看不到錯誤消息。現在,對於實際問題…
- 可能有這個錯誤:
UNC path are not supported. Defaulting to Windows directory.
您不能在
.bat
批處理腳本中使用 UNC 路徑引用共享。選項:
- 將腳本重命名為
.cmd
啟用 UNC 支持。- 使用
pushd
(andpopd
) 臨時映射網路驅動器,例如: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 版本)來確定安裝的版本。如果每個人都有相同的主版本,那麼編寫腳本應該很容易,即使他們沒有。