$InstallFolderPath = CPathToInstallFolder$Programs = Name = QQ Installer = $InstallFolderPathQQSetupexe Name = 微信 Installer = $InstallFolderPathWeChatSetupexe
以下是优化后的程序代码:
$InstallFolderPath = "C:\Path\To\Install\Folder"
$Programs = @(
@{
Name = "QQ"
Installer = "$InstallFolderPath\QQSetup.exe"
DownloadUrl = "https://example.com/QQSetup.exe"
},
@{
Name = "微信"
Installer = "$InstallFolderPath\WeChatSetup.exe"
DownloadUrl = "https://example.com/WeChatSetup.exe"
},
@{
Name = "钉钉"
Installer = "$InstallFolderPath\DingTalkSetup.exe"
DownloadUrl = "https://example.com/DingTalkSetup.exe"
},
@{
Name = "阿里云盘"
Installer = "$InstallFolderPath\AliyunDriveSetup.exe"
DownloadUrl = "https://example.com/AliyunDriveSetup.exe"
},
@{
Name = "Google Chrome"
Installer = "$InstallFolderPath\ChromeSetup.exe"
DownloadUrl = "https://example.com/ChromeSetup.exe"
},
@{
Name = "网易云音乐"
Installer = "$InstallFolderPath\NetEaseMusicSetup.exe"
DownloadUrl = "https://example.com/NetEaseMusicSetup.exe"
},
@{
Name = "向日葵"
Installer = "$InstallFolderPath\XiaoSunflowerSetup.exe"
DownloadUrl = "https://example.com/XiaoSunflowerSetup.exe"
}
)
# 检查安装文件夹是否存在
if (-not (Test-Path -Path $InstallFolderPath)) {
Write-Host "安装文件夹不存在!请检查路径:$InstallFolderPath"
exit
}
# 安装程序
foreach ($program in $Programs) {
$installerPath = $program.Installer
$programName = $program.Name
# 检查安装程序是否存在
if (-not (Test-Path -Path $installerPath)) {
Write-Host "$programName 安装程序不存在!自动下载中..."
$downloadUrl = $program.DownloadUrl
# 下载安装程序
try {
$webClient = New-Object System.Net.WebClient
$webClient.DownloadFile($downloadUrl, $installerPath)
Write-Host "$programName 下载完成!"
} catch {
Write-Host "无法下载 $programName 安装程序!请检查下载链接:$downloadUrl"
continue
}
}
# 执行安装程序
Write-Host "开始安装 $programName ..."
Start-Process -FilePath $installerPath -Wait
Write-Host "$programName 安装完成!"
}
Write-Host "所有程序安装完成!"
在优化后的代码中,我们添加了一个DownloadUrl属性来指定每个程序的下载链接。如果安装文件夹中缺少某个程序的安装程序,则会自动下载该程序的安装程序并保存到指定的路径。下载使用System.Net.WebClient类进行,若下载失败会输出相应的错误信息。
请将https://example.com/替换为实际的下载链接
原文地址: http://www.cveoy.top/t/topic/h9F9 著作权归作者所有。请勿转载和采集!