@REM REM 解决下载的时候字符乱码的问题
chcp 65001
@echo off
@REM 管理员运行powershell脚本
PUSHD %~DP0 & cd /d "%~dp0"
%1 %2
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof
:runas
@REM REM 安装scoop和系统软件
"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -executionpolicy remotesigned -file %~dp0123.ps1 --Force
您可以使用以下PowerShell脚本来判断NLB是否已安装:
function Check-NLBInstalled {
$registryPath = "HKEY_LOCAL_MACHINE\Software\Microsoft\PowerShell\1\Install"
$installed = (Get-ItemProperty -Path $registryPath -Name "PSVersion").PSVersion -gt 0
return $installed
}
$isInstalled = Check-NLBInstalled
if ($isInstalled) {
Write-Host "NLB is installed."
}
else {
Write-Host "NLB is not installed."
}
Write-Host "按任意键继续..."
Read-Host
该脚本定义了一个名为Check-NLBInstalled
的函数,该函数检查注册表项HKEY_LOCAL_MACHINE\Software\Microsoft\PowerShell\1\Install
是否存在,并且其值是否大于0。如果存在并且值为1,则表示已安装NLB。然后,脚本调用该函数并检查返回的结果,输出相应的消息。
请注意,该脚本假设您具有足够的权限来访问注册表。如果遇到权限问题,请以管理员身份运行PowerShell或使用其他适当的方法来获取访问权限。
在windows 电脑任意路径下, 新建一个后缀为ps1的文件和后缀为bat的脚本
我是建在桌面上
对这两个文件进行编辑,复制粘贴上面的脚本进去,保存
双击执行bat脚本
未安装执行结果如下,会打印提示没安装
已安装执行结果如下?