Загрузка и выгрузка ISO-файлов в Windows 8

Загрузка и выгрузка ISO-файлов в Windows 8

На одном сайте я видел, что новая Windows 8 может загружать ISO-образы без помощи других программ.

  1. Создает ли Windows 8 новый диск для каждого ISO? Или у нее есть один виртуальный диск для загрузки всех ISO?

  2. Как узнать, действительно ли файл является ISO?

  3. Некоторые ПК используют UltraISO для открытия ISO. Если я просто ввожу имя ISO в DOS, он загружается в UltraISO. Как мне загрузить ISO только в Windows 8 на всех ПК, независимо от того, есть ли у них UltraISO или нет?

  4. Как мне выгрузить ISO-образы?

Я хочу сделать все это в пакетном файле.

решение1

Создает ли Windows 8 новый диск для каждого ISO? Или у нее есть один виртуальный диск для загрузки всех ISO?

Другие уже ответили на этот вопрос: Windows создаст новый виртуальный диск для загрузки каждого открываемого вами ISO-образа.одновременно. Это означает, что второй загруженный вами ISO-образ (без извлечения первого) будетнетзаменить уже загруженный, но вместо этого ему будет назначена другая буква диска.


Некоторые ПК используют UltraISO для открытия ISO. Если я просто ввожу имя ISO в DOS, он загружается в UltraISO. Как мне загрузить ISO только в Windows 8 на всех ПК, независимо от того, есть ли у них UltraISO или нет?

Интересный вопрос. Я на самом деле пробовал explorer.exe Filename.isoс разными установленными обработчиками/просмотрщиками/редакторами ISO и обнаружил, что в зависимости от уровня интеграции с ОС команда либо обходит связанную программу, либо нет. Я все еще ищу способ надежно открывать ISOвсегдаиспользуя сам Windows, независимо от любых установленных сопутствующих программ. Обязательно обновлю свой ответ, если/когда разберусь.


Как мне выгрузить ISO-образы?

Все еще нужно разобраться с этим; вероятно, это произойдет одновременно с разработкой надежной команды загрузки, как упоминалось выше.

Тем временем вы можете попробовать одно из следующих действий:

nircmdccdrom открыть [диск:]

или

wizmoоткрыть=[диск:]


Как узнать, действительно ли файл является ISO?

Я обращаюсь к этому последнему, потому что технически это наиболее труднодостижимо. Надежное определение того, является ли образ диска с плохим названием (или любой файл, если на то пошло)на самом делеISO или нет, на удивление, трудно сделать. Самое близкое, что я смог сделать, это использоватьИдентификатор файла TrID. Если вы загружаете версию Win32 и последний пакет TrIDDefs, извлеките их в одну и ту же папку и выполните следующую команду:

trid -ns -r:1 File.iso

вы увидите такой вывод:

TrID/32 - File Identifier v2.10 - (C) 2003-11 By M.Pontello
Definitions found:  4903
Analyzing...

Collecting data from file: File.iso
 49.4% (.NRG) Nero BurningROM CDImage (2048000/1)

К сожалению, по какой-то причине ISO-образы определяются TrID как "null bytes" (если убрать переключатель -ns), или как "Nero BurningROM CDImage", если указать переключатель. Я не знаю о первом, но второе, возможно, связано с тем, что образы дисков NRG очень похожи на ISO. Если так, то будет сложно (или даже невозможно) отличить плохо названные NRG от настоящих ISO-образов (хотя если Windows 8 может загружать NRG, переименованные в ISO-образы, это не будет иметь значения). В любом случае, следующий пакетный файл выведет, является ли файл, указанный в качестве аргумента, NRG/ISO или нет:

@echo off
if [%1]==[] goto :EOF
for /f %%v in ('trid -ns -r:1 "%1" ^| find /c "(.NRG)"') do (
    if [%%v]==[0] echo "%1" is not an NRG/ISO & goto :EOF
    echo "%1" is an NRG/ISO
)

Поочередно, то что вы можете сделать, это посмотреть на эту проблему с другой стороны. Поскольку Windows 8 может загружать только ISO и VHD, было бы вполне разумным предположить, что любой файлнетзагруженный не подходит. Таким образом, то, что вы могли бы сделать, это попытаться загрузить предполагаемый ISO (команда для этого все еще не получена, конечно), затем выполнить поиск известного файла на всех дисководах (настоящийивиртуальный, так как я не знаю, как отличить одно от другого). При условии, что файл с таким же именем не существует на реальном диске, который случайно вставлен в то же время, если поиск файла успешен, вы можете сделать вывод, что ISO был успешно загружен и, таким образом, является либо настоящим ISO, либо неудачно названным VHD. Код для поиска определенного файла на всех дисках можно найти в моем ответездесь. (Уф, надеюсь, это имеет смысл!)


Наконец, я хотел бы сказать, что поскольку в Windows 8, вероятно, есть новые API для загрузки/извлечения ISO, и они могут быть доступны через .NET/PowerShell, может быть проще выполнить все, что вам нужно, через PowerShell. Я не могу вам помочь, так как я не PS, но вам определенно стоит рассмотреть это, если использование пакетных файлов не является абсолютной необходимостью.

решение2

Создает ли Windows 8 новый диск для каждого ISO? Или у нее есть один фиктивный диск для загрузки всех ISO?

Да, Windows 8 сама создаст виртуальный диск для каждого ISO-файла, но только если вы попытаетесь открыть более одного ISO-файла одновременно.

введите описание изображения здесь

Как узнать, действительно ли файл является ISO-образом?

Просто щелкните правой кнопкой мыши по изображению и выберите свойства, вы увидите тип файла. Или у него есть значок по умолчанию в Windows 8.

введите описание изображения здесь

Некоторые ПК используют UltraISO для открытия ISO. Если я просто ввожу имя ISO в DOS, он загружается в UltraISO. Как мне загрузить ISO только в Windows 8 на всех ПК, независимо от того, есть ли у них UltraISO или нет?

Да, вы можете открыть его с помощьюОткрыть сили установите его в качестве программы по умолчанию.

введите описание изображения здесь

Как мне выгрузить ISO-образы?

Просто щелкните правой кнопкой мыши по нему и выберите опциюВыбросить.

введите описание изображения здесь

Редактировать: Вы можете запустить ISOогонь через командную строку, просто введите команду, как показано ниже

 C:\>explorer.exe D:\DiskImage\imagefile.iso

Примечание: Вот D:\diskimage\imagefile.isoпуть к ISOфайлу, который вам нужно изменить на свой.

Теперь вы увидите, что ISOобраз смонтирован в explorerи вы можете увидеть его в разделе "Мой компьютер". Если вы хотите открыть несколько образов ISOодновременно, вы можете запустить ту же команду с нужным именем файла образа, чтобы открыть его.

Теперь, если вы хотите отключить ISOобраз из командной строки, введите следующую команду и нажмите Enter:

c:\>powershell dismount-diskimage -devicepath \\.\D:

Здесь D:имеется в виду буква вашего виртуального диска, она может отличаться в зависимости от букв ваших разделов.

Еще одно редактирование: Погуглив еще немного, я нашел ветку на SU от@r.tanner.fкто нашел способ монтировать несколько ISO через power-shell. Он преодолел это после прочтения этой ветки.

решение3

Создает ли Windows 8 новый диск для каждого ISO? Или у нее есть один фиктивный диск для загрузки всех ISO?

Когда вы открываете ISO с помощью Windows Explorer в первый раз, он автоматически создает для него новый виртуальный диск («монтирует» его). Если вы откроете несколько ISO, у вас будет несколько виртуальных дисков.

Как узнать, действительно ли файл является ISO-образом?

Я не уверен, что понимаю. Он отображается как виртуальный CD/DVD-привод. Вы можете проверить свойства привода на предмет используемой файловой системы, я полагаю.

Некоторые ПК используют UltraISO для открытия ISO. Если я просто ввожу имя ISO в DOS, он загружается в UltraISO. Как мне загрузить ISO только в Windows 8 на всех ПК, независимо от того, есть ли у них UltraISO или нет?

Вы можете запустить explorer YourISOName.isoиз командной строки, чтобы открыть ISO в проводнике Windows. Если он еще не смонтирован, он будет смонтирован, и вы попадете туда в проводнике.

Как мне выгрузить ISO-образы?

В проводнике вы можете щелкнуть по ним правой кнопкой мыши и выбрать команду «Извлечь», как и любой другой внешний диск в Windows.

решение4

Оказывается, именно так можно изначально разрешить Windows/Explorer монтировать/размонтировать ISO-образы независимо от типа содержимого.

Монтирование образа:

$ powershell Mount-DiskImage -ImagePath d:\path\to\image.iso

Размонтирование или демонтаж, если вы предпочитаете:

$ powershell DisMount-DiskImage -ImagePath d:\path\to\image.iso 

Радость!

Связанный контент