我有一个文件夹,里面有 100 多个 dvd .iso 磁盘映像文件。我想将它们全部挂载
我可以一次将它们 15 个本地安装到 Windows 10 Pro 中的单独驱动器号上,但使用文件资源管理器会有很多驱动器号并且很繁琐。有没有更好更优雅的方式来做我想做的事情?
我不希望有任何重复的数据,并且希望保留原始 .iso 文件格式的文件,所以,我不想将所有 iso 文件提取到一个文件夹中或创建某种 mega iso 文件。
我正在使用外部驱动器,但该驱动器仅用于备份。
我了解到我可以使用 powershell 来为该目录调用 -item *.iso,但它会为每个映像打开一个资源管理器窗口,我不希望这种情况发生。Mount-diskimage 一次只能处理一个 .iso 文件。
答案1
“优雅”的方法是使用Mount-DiskImage
而不指定驱动器号:
# Find all the ISO files in the current folder, mount them, and save as $mounts:
$mounts = Get-ChildItem *.iso | ForEach {
Mount-DiskImage $_ -StorageType ISO -NoDriveLetter -PassThru |
Get-Volume
}
# Example: List the contents of all mounted disks (you must use literal paths):
$mounts | ForEach { Get-ChildItem -LiteralPath $_.Path }
# Unmount all of the ISO files when you're done:
$mounts | ForEach { Get-DiskImage -Volume $_ | Dismount-DiskImage }
如果指定驱动器号,则每次最多只能安装 23 个,因为字母 AC 是保留的。
可以通过卷引导访问这些挂载点:
$mounts.Path
\\?\Volume{b1d42111-e389-11e9-9784-bc838509800c}\
\\?\Volume{b1d421a4-e389-11e9-9784-bc838509800c}\
Get-ChildItem '\\?\Volume{b1d42111-e389-11e9-9784-bc838509800c}\ '
cd '\\?\Volume{b1d421a4-e389-11e9-9784-bc838509800c}\myfolder\'