Как я могу монтировать и отключать ISO-образы из PowerShell в Windows 8 без сторонних программ?
Оригинальная версия этого вопроса заставила меня задуматься, возможно ли смонтировать ISO-образ через PowerShell в Windows 8.
источник
Как я могу монтировать и отключать ISO-образы из PowerShell в Windows 8 без сторонних программ?
Оригинальная версия этого вопроса заставила меня задуматься, возможно ли смонтировать ISO-образ через PowerShell в Windows 8.
Если вы сидите в командной строке и хотите смонтировать ISO, выполните следующую команду:
PowerShell Mount-DiskImage
Это вызовет командлет PowerShell. Вам будет предложено указать путь к ISO-образу, который вы хотите смонтировать. Когда вы закончите, оставьте последний пустой и нажмите Enter.
Тада! Это установлено:
Чтобы отключить ISO из PowerShell, запустите Dismount-DiskImage
и следуйте инструкциям. Если вы знаете только букву диска в верхней части головы, а не путь к изображению, используйте эту команду:
Get-Volume [Drive Letter] | Get-DiskImage | Dismount-DiskImage
Эта команда захватит указанный вами диск, найдет образ диска и отключит его.
Вы также можете использовать этот -PassThru
флаг для хранения данных, переданных команде. Давайте смонтируем несколько ISO-образов, отобразим их буквы дисков, запустим файл на одном из дисков, а затем отключим все ISO-образы.
Смонтировать ISO
$MountedISOs=Mount-DiskImage -PassThru D:\Downloads\Ubuntu.iso,D:\Downloads\Windows8.iso,D:\Downloads\Server2012.iso
Отображение информации о громкости для каждого ISO, установленного с помощью foreach
петли
foreach($iso in $MountedISOs){Get-Volume -DiskImage $iso}
Список J диск
ls J:\
Открыть файл
start wubi.exe
Чтобы отключить ISO, используйте следующую команду:
Dismount-DiskImage $MountedISOs.ImagePath
Чтобы создать простой сценарий, который проверяет, подключен ли ISO-файл и является ли он действительно (по сравнению с VHD), я хотел бы использовать его -PassThru
для временного хранения объекта и использовать Get-DiskImage
команду для обновления состояния объекта DiskImage. Это обновит Attached
свойство. StorageType
Свойство будет сказать, является ли файл является ISO или VHD в соответствии с его расширением файла.
StorageType
Из VHD 2, где ISO возвратит 1. Вот вывод $UbuntuISO
:
Это вывод $temp
после монтирования VHD: ( Mount-DiskImage
также может монтировать VHD!)
Обратите внимание, что Attached
свойство выше False
, несмотря на то, что Mount-DiskImage
команда работает без заминки.
Имейте в виду, что $UbuntuISO
переменная также не будет обновляться:
C:\>explorer.exe imagepath
, здесь нам не нужен PS, но для размонтирования нам нужен PS.Обычно, если вы хотите сделать это через командную строку, вам нужен неинтерактивный метод. Вы хотите использовать
-ImagePath
переключатель, чтобы сделать это.Таким образом, команда:
Помните, что если вы указываете абсолютный путь (для пробелов и других специальных символов), вам нужно экранировать кавычки.
Чтобы демонтировать ISO-образ, не забудьте процитировать его:
Обратите внимание, что нам не нужно было заключать команду в кавычки в первом случае, но мы делаем это во втором, потому что
|
конвейер заставит командную строку думать, что она находится в контексте командной строки, а не как аргументы добавленияPowerShell
(для которых PowerShell автоматически объединяет в одну команду).Также убедитесь, что написано
Dismount-DiskImage
правильно (нетk
в Dismount).источник
PowerShell Dismount-DiskImage \"C:\AbsolutePathTo\Image.iso\"
PowerShell Mount-DiskImage \"%CD%\Image.iso\"