在U盘某目录下新建MountVHD.txt文件(笔者放置于根目录下)
将以下代码复制进去
# 1. 显示目录下的vhd文件,计入变量中
$vhdFiles = Get-ChildItem -Recurse -Filter *.vhd -Path .\0ImageFiles
# 显示进度条
$totalVhdCount = $vhdFiles.Count
$processedCount = 0
Write-Progress -Activity "正在检测VHD文件" -Status "已处理 $processedCount 个文件 / 共 $totalVhdCount 个文件" -PercentComplete 0
# 将检测到的vhd依次判断,是否已经被挂载过了
$mountedVhds = @()
$unmountedVhds = @()
foreach ($vhd in $vhdFiles) {
$vhdInfo = Get-VHD -Path $vhd.FullName
if ($vhdInfo.Attached -eq $true) {
$mountedVhds += $vhd
Write-Host "$($vhd.Name) 已挂载"
}
else {
$unmountedVhds += $vhd
Write-Host "$($vhd.Name) 未挂载"
}
# 更新进度条
$processedCount++
$percentComplete = [math]::Round(($processedCount / $totalVhdCount) * 100)
Write-Progress -Activity "正在检测VHD文件" -Status "已处理 $processedCount 个文件 / 共 $totalVhdCount 个文件" -PercentComplete $percentComplete
}
# 完成时清除进度条
Write-Progress -Activity "正在检测VHD文件" -St

本文介绍了一个用PowerShell编写的脚本,用于检测U盘中的VHD文件是否挂载,根据用户选择进行挂载或卸载操作。脚本会递归查找指定目录下的VHD文件,并显示进度和用户交互界面。
最低0.47元/天 解锁文章
7563

被折叠的 条评论
为什么被折叠?



