windows有一個企業微信安裝包,腳本執行并安裝到d盤。

以下是將本地已有的企業微信安裝包安裝到D盤的完整PowerShell腳本,包含詳細的錯誤處理和進度反饋:

<#
.SYNOPSIS使用本地企業微信安裝包安裝到D盤
.DESCRIPTION自動檢測本地安裝包,靜默安裝到指定目錄支持.exe和.msi格式安裝包
#># 強制管理員權限檢查
if (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {Write-Host "? 必須使用管理員權限運行!右鍵選擇'以管理員身份運行'" -ForegroundColor RedStart-Sleep 3exit 1
}# 配置參數
$InstallPackagePath = "C:\Temp\WeComSetup.exe"  # 修改為你的實際安裝包路徑
$InstallPath = "D:\Program Files\WXWork"       # 目標安裝路徑# 安裝包存在性檢查
if (-not (Test-Path $InstallPackagePath)) {Write-Host "? 錯誤:安裝包不存在于 $InstallPackagePath" -ForegroundColor RedWrite-Host "請檢查以下可能位置:" -ForegroundColor YellowGet-ChildItem -Path "C:\" -Recurse -Filter "*WeCom*" -Include "*.exe","*.msi" -ErrorAction SilentlyContinue | Select-Object -First 5 -Property FullName | Format-Table -AutoSizeexit 1
}# D盤可用空間檢查(至少需要500MB)
$requiredSpace = 500MB
$diskInfo = Get-PSDrive D -ErrorAction SilentlyContinue
if (-not $diskInfo) {Write-Host "? 錯誤:D盤不可用" -ForegroundColor Redexit 1
}
if ($diskInfo.FreeSpace -lt $requiredSpace) {Write-Host "? 錯誤:D盤空間不足 (需要: $($requiredSpace/1MB) MB, 可用: $($diskInfo.FreeSpace/1MB) MB)" -ForegroundColor Redexit 1
}# 準備安裝目錄
try {if (-not (Test-Path $InstallPath)) {New-Item -Path $InstallPath -ItemType Directory -Force | Out-NullWrite-Host "📁 已創建安裝目錄: $InstallPath" -ForegroundColor Cyan}
} catch {Write-Host "? 目錄創建失敗: $_" -ForegroundColor Redexit 1
}# 檢查是否已安裝相同版本
$uninstallRegPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*"
$installed = Get-ItemProperty $uninstallRegPath -ErrorAction SilentlyContinue | Where-Object { $_.DisplayName -like "*企業微信*" -and $_.InstallLocation -like "$InstallPath*" }if ($installed) {Write-Host "?? 已檢測到已安裝版本: $($installed.DisplayVersion)" -ForegroundColor Yellow$choice = Read-Host "是否重新安裝? (Y/N)"if ($choice -ne 'Y') { exit }
}# 根據安裝包類型執行安裝
$fileExt = [System.IO.Path]::GetExtension($InstallPackagePath).ToLower()try {Write-Host "🛠? 正在安裝到 $InstallPath ..." -ForegroundColor Cyanif ($fileExt -eq ".exe") {# EXE安裝包參數(企業微信專用靜默參數)$installArgs = "/S /D=$InstallPath"$process = Start-Process -FilePath $InstallPackagePath -ArgumentList $installArgs -Wait -PassThru# 驗證安裝結果if ($process.ExitCode -ne 0) {throw "安裝程序返回錯誤代碼: $($process.ExitCode)"}}elseif ($fileExt -eq ".msi") {# MSI安裝包參數$installArgs = "/i `"$InstallPackagePath`" INSTALLDIR=`"$InstallPath`" /qn"$process = Start-Process "msiexec.exe" -ArgumentList $installArgs -Wait -PassThruif ($process.ExitCode -ne 0) {throw "MSI安裝失敗,錯誤代碼: $($process.ExitCode)"}}else {throw "不支持的安裝包格式: $fileExt"}# 驗證主程序是否存在if (-not (Test-Path "$InstallPath\WXWork.exe")) {throw "主程序文件未找到,可能安裝不完整"}Write-Host "? 安裝成功!" -ForegroundColor Green# 創建開始菜單快捷方式(可選)$startMenuPath = "$env:ProgramData\Microsoft\Windows\Start Menu\Programs"$shortcutPath = "$startMenuPath\企業微信.lnk"$shell = New-Object -ComObject WScript.Shell$shortcut = $shell.CreateShortcut($shortcutPath)$shortcut.TargetPath = "$InstallPath\WXWork.exe"$shortcut.WorkingDirectory = $InstallPath$shortcut.Save()} catch {Write-Host "? 安裝失敗: $_" -ForegroundColor Redexit 1
}# 添加環境變量(可選)
try {$envPath = [Environment]::GetEnvironmentVariable("Path", "Machine")if (-not $envPath.Contains($InstallPath)) {[Environment]::SetEnvironmentVariable("Path", $envPath + ";$InstallPath", "Machine")Write-Host "🔧 已添加環境變量" -ForegroundColor Cyan}
} catch {Write-Host "?? 環境變量設置失敗: $_" -ForegroundColor Yellow
}Write-Host "🎉 企業微信已成功安裝到: $InstallPath" -ForegroundColor Magenta
Write-Host "👉 主程序路徑: $InstallPath\WXWork.exe" -ForegroundColor Cyan

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/94678.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/94678.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/94678.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[LVGL] 布局系統 lv_flex, lv_grid | 輸入設備 lv_indev | union

第五章&#xff1a;布局系統&#xff08;lv_flex, lv_grid&#xff09; 歡迎回來&#xff01; 在第四章&#xff1a;樣式&#xff08;lv_style&#xff09;中&#xff0c;我們掌握了如何通過色彩、字體和圓角等特性美化部件。當界面元素具備視覺吸引力后&#xff0c;如何優雅…

Linux中的mkdir命令

基本語法mkdir 命令的基本語法如下&#xff1a;mkdir [選項] 目錄名創建單個目錄要創建一個新目錄&#xff0c;只需在 mkdir 后跟上目錄名稱。例如&#xff1a;mkdir new_folder這會在當前工作目錄下創建一個名為 new_folder 的目錄。創建多個目錄可以一次性創建多個目錄&#…

基于大數據的美食視頻播放數據可視化系統 Python+Django+Vue.js

本文項目編號 25003 &#xff0c;文末自助獲取源碼 \color{red}{25003&#xff0c;文末自助獲取源碼} 25003&#xff0c;文末自助獲取源碼 目錄 一、系統介紹二、系統錄屏三、啟動教程四、功能截圖五、文案資料5.1 選題背景5.2 國內外研究現狀 六、核心代碼6.1 查詢數據6.2 新…

微信小程序精品項目-基于springboot+Android的計算機精品課程學習系統(源碼+LW+部署文檔+全bao+遠程調試+代碼講解等)

博主介紹&#xff1a;??碼農一枚 &#xff0c;專注于大學生項目實戰開發、講解和畢業&#x1f6a2;文撰寫修改等。全棧領域優質創作者&#xff0c;博客之星、掘金/華為云/阿里云/InfoQ等平臺優質作者、專注于Java、小程序技術領域和畢業項目實戰 ??技術范圍&#xff1a;&am…

(五)系統可靠性設計

2024年博主考軟考高級系統架構師沒通過&#xff0c;于是決定集中精力認真學習系統架構的每一個環節&#xff0c;并在2025年軟考中取得了不錯的成績&#xff0c;雖然做信息安全的考架構師很難&#xff0c;但找對方法&#xff0c;問題就不大&#xff01; 本文主要是博主在學習過程…

Shuffle SOAR使用學習經驗

Shuffle SOAR 1. 基礎操作與配置1.1 環境搭建與系統要求1.1.1 硬件與操作系統要求Shuffle SOAR 平臺作為一款開源的安全編排、自動化與響應&#xff08;SOAR&#xff09;工具&#xff0c;其部署方式靈活&#xff0c;支持云端和自托管兩種模式。對于自托管部署&#xff0c;官方推…

騰訊云 EdgeOne 產品分析與免費套餐體驗指南

本文圍繞騰訊云 EdgeOne 展開&#xff0c;全方位介紹它的核心能力、免費套餐內容&#xff0c;以及如何快速上手、監控和排查常見問題&#xff0c;幫助個人開發者和中小企業在不產生額外成本的前提下體驗高性能的邊緣加速與安全防護。 一、產品概述 EdgeOne 定位 一體化云服務平…

npm ERR! Unsupported URL Type “workspace:“: workspace:./lib

如下 npm install npm ERR! code EUNSUPPORTEDPROTOCOL npm ERR! Unsupported URL Type "workspace:": workspace:./libnpm ERR! A complete log of this run can be found in: D:\IDEA\nodejs\node_cache\_logs\2025-08-06T08_21_32_592Z-debug-0.log原因及解決 pac…

微積分: 變化與累積

微積分,這門研究變化與累積的數學分支,其核心思想竟與東方哲學中"易"的概念不謀而合。《易經》有云:“易有太極,是生兩儀”,而微積分正是通過"微分"與"積分"這對辯證統一的操作,揭示了世間萬物變化與永恒的奧秘。 #mermaid-svg-UjO6qqMm0h…

web-vue工作流程

接續bmcweb流程。 當登錄openbmc web頁面后,瀏覽器會根據index.html中的js文件中的routes信息,自動獲取信息,比如當前的網絡設置信息、Datetime時區時間信息等。 以獲取網絡配置信息為例: 瀏覽器從app.js獲取到settins->network的route:”/settings/network”,加載對應…

全球化2.0 | 泰國IT服務商攜手云軸科技ZStack重塑云租賃新生態

在全球數字化轉型不斷加速的今天&#xff0c;泰國企業對于高質量云服務的需求日益旺盛。作為深耕本地市場逾二十年的行業領先IT服務商&#xff0c;泰國IT服務商不僅覆蓋了IT系統、軟件、硬件及網絡等多個領域&#xff0c;還持續引領當地技術服務創新。近期&#xff0c;該泰國IT…

一文搞懂Hive臨時表操作秘籍

Hive 臨時表&#xff1a;數據處理的得力助手 在大數據處理的廣闊領域中&#xff0c;Hive 憑借其強大的數據倉庫功能&#xff0c;成為了眾多數據分析師和開發者的得力工具。Hive 提供了類似 SQL 的查詢語言 HiveQL&#xff0c;讓我們能夠方便地對存儲在 Hadoop 分布式文件系統&a…

瞬態吸收光譜儀的基本原理

目錄 1. 基態與激發態 2. 時間上的動力學信息 3. pump-probe探測技術 4. 時間延遲和同一光源 5. 延時線和OPA 6. 差分信號 7. 斬波器 原視頻鏈接&#xff1a;瞬態吸收光譜儀的基本原理_嗶哩嗶哩_bilibili 1. 基態與激發態 當光照射在物質上時&#xff0c;組成物質的微觀…

迭代器與生成器:Python 中的高效數據遍歷機制

一、迭代器和生成器的基本概念 1. 迭代器的定義和工作原理 &#xff08;1&#xff09;迭代器的概念 迭代器&#xff08;Iterator&#xff09; 是 Python 中一種支持逐個訪問元素的對象&#xff0c;它遵循 迭代器協議&#xff08;Iterator Protocol&#xff09;&#xff0c;即實…

Java 發送 HTTP POST請求教程

Java 發送 HTTP POST 請求的方法使用 HttpURLConnection&#xff08;原生 Java 支持&#xff09; 創建一個 HttpURLConnection 對象&#xff0c;設置請求方法為 POST&#xff0c;并寫入請求體數據。以下是一個簡單示例&#xff1a;import java.io.OutputStream; import java.ne…

計算機英語詳細總結

計算機英語作為信息技術領域的專用語言&#xff0c;融合了專業術語、縮寫、行業表達及技術文檔規范&#xff0c;是學習編程、從事 IT 工作的核心工具。以下從核心分類、應用場景、學習方法三方面詳細梳理&#xff1a;一、核心術語分類與高頻詞匯1. 編程語言與語法基礎基礎概念&…

「日拱一碼」045 機器學習-因果發現算法

目錄 基于約束的方法 (Constraint-based) 基于評分的方法 (Score-based) 基于函數因果模型的方法 (Functional Causal Models) 基于梯度的方法 (Gradient-based) 因果發現是機器學習中一個重要的研究方向&#xff0c;它旨在從觀測數據中推斷變量之間的因果關系 基于約束的…

S7-1200 串行通信介紹

S7-1200 串行通信S7-1200支持的串行通訊方式點對點&#xff08;PtP&#xff09;通信Modbus 主從通信USS 通信名稱CM 1241 RS232CM 1241 RS422/485CB 1241 RS485訂貨號6ES7241-1AH32-0XB06ES7241-1CH32-0XB06ES7241-1CH30-1XB0通訊口類型RS232RS422/RS485RS485波特率(bps)300 ;6…

達夢包含OR條件的SQL特定優化----INJECT-HINT優化方法

Time:2025/08/07Author:skatexg應用迭代發版須執行如下動作 1、按目標需求全面壓力測試&#xff0c;優化潛在慢SQL或設置特殊優化參數(如&#xff1a;OPTIMIZER_OR_NBEXP) 2、達夢數據庫有數據導入&#xff0c;必須收集統計信息達夢使用SF_INJECT_HINT系統函數對指定SQL增加HIN…

JSqlParser學習筆記 快速使用JSqlParser

文章目錄前言本章節源碼官方文檔信息認識JSqlParserHow it works? 它是如何工作的&#xff1f;知識點關于statement實際應用場景引入依賴Parser 解析SQL解析sql語句解析sql區分sql類型分析增刪改查語句查詢語句認識PlainSelect示范新增語句了解Insert常用方法示范更新語句刪除…