if 参考
与许多其他语言一样,PowerShell 提供了用于在脚本中有条件地执行代码的语句。 其中一个语句是 If 语句。 今天,我们将深入探讨 PowerShell 中最基本的命令之一。
Powershell 下载,参考
Powershell | Powershell 相关文档,接口,扩展 | if |
download | 参考 | 参考 |
Powershell if 判断参数,两种方式可以套用到不同业务部署上
判断是否存在,不存在安装,安装完成后不允许再次安装,如果安装失败则退出
- 最终判断是否存在,不存在安装,安装完成后不允许再次安装,如果安装失败则退出
- if 语法判断是否安装参考,以下是判断VBoxManage命令是否存,不存在安装,存在跳过不允许在次安装
- -not表示逻辑非,Get-Command是获取命令的意思,VBoxManage是VirtualBox的命令行管理工具,-ErrorAction SilentlyContinue表示如果命令不存在则不显示错误信息。
- -not (Get-Command VBoxManage -ErrorAction SilentlyContinue)` 表示检查是否已经安装了VirtualBox,如果没有安装,则返回 `$true`,否则返回 `$false`
- $?是PowerShell中的一个自动变量,表示上一个命令的执行结果。在这里,如果上一个命令执行成功,则$?为True,否则为False($?用于判断前面的安装操作是否成功执行)
- Write-Host是输出信息到控制台的命令,-ForegroundColor参数指定输出文本的颜色(Green,Red,Yellow)
- Invoke-WebRequest是用于从Web服务器上获取内容的命令,-Uri参数指定要获取的URL,-OutFile参数指定要将内容保存到的文件路径。
function Install-VirtualBox {
if (-not (Get-Command VBoxManage -ErrorAction SilentlyContinue)) {
if ($?) {
$url="https://download.virtualbox.org/virtualbox/7.0.8/VirtualBox-7.0.8-156879-Win.exe"
$output="c:\VirtualBox-7.0.8-156879-Win.exe"
Invoke-WebRequest -Uri $url -OutFile $output
#install virtualbox
Start-Process -FilePath $output -ArgumentList "--silent", "--msiparams", "INSTALLDIR=`"c:\VirtualBox`"" -Wait
Write-Host "The virtualbox Install Success..." -ForegroundColor Green
} else {
Write-Host "The virtualbox Install Failed..." -ForegroundColor Red
exit 1
}
} else {
Write-Host "The virtualbox Install already..." -ForegroundColor Yellow
}
}
function Main {
Install-VirtualBox
}
Main
只判断是否安装在安装,未安装进行安装
- 最终判断是否存在,不存在安装,安装完成后不允许再次安装
- if 语法判断是否安装参考,以下是判断VBoxManage命令是否存,不存在安装,存在跳过不允许在次安装
- -not表示逻辑非,Get-Command是获取命令的意思,VBoxManage是VirtualBox的命令行管理工具,-ErrorAction SilentlyContinue表示如果命令不存在则不显示错误信息。
- -not (Get-Command VBoxManage -ErrorAction SilentlyContinue)` 表示检查是否已经安装了VirtualBox,如果没有安装,则返回 `$true`,否则返回 `$false`
- Write-Host是输出信息到控制台的命令,-ForegroundColor参数指定输出文本的颜色(Green,Red,Yellow)
- Invoke-WebRequest是用于从Web服务器上获取内容的命令,-Uri参数指定要获取的URL,-OutFile参数指定要将内容保存到的文件路径。
function Install-VirtualBox {
if (-not (Get-Command VBoxManage -ErrorAction SilentlyContinue)) {
Write-Host "virtualbox is not installed and is being installed" -ForegroundColor Green
$url="https://download.virtualbox.org/virtualbox/7.0.8/VirtualBox-7.0.8-156879-Win.exe"
$output="c:\VirtualBox-7.0.8-156879-Win.exe"
Invoke-WebRequest -Uri $url -OutFile $output
#install virtualbox
Start-Process -FilePath $output -ArgumentList "--silent", "--msiparams", "INSTALLDIR=`"c:\VirtualBox`"" -Wait
} else {
Write-Host "The virtualbox Install already..." -ForegroundColor Yellow
}
}
function Main {
Install-VirtualBox
}
Main