サードパーティのプログラムなしでWindows 8のPowerShellからISOイメージをマウントおよびマウント解除するにはどうすればよいですか?
これは 質問 オリジナル リビジョン Windows 8でPowerShellを介してISOをマウントすることが可能かどうか疑問に思いました
コマンドプロンプトの前でISOをマウントする必要がある場合は、次のコマンドを実行します。
PowerShell Mount-DiskImage
これにより、PowerShellコマンドレットが呼び出されます。マウントするISOのパスの入力を求められます。完了したら、最後のものを空白のままにして、Push Enter。
多田!マウントされています:
PowerShellからISOをマウント解除するには、Dismount-DiskImage
を実行し、プロンプトに従います。頭の上のドライブ文字だけがわかっていて、イメージパスがわからない場合は、次のコマンドを使用します。
Get-Volume [Drive Letter] | Get-DiskImage | Dismount-DiskImage
このコマンドは、指定したドライブを取得し、ディスクイメージを見つけて、マウントを解除します。
-PassThru
フラグを使用して、コマンドに渡されたデータを保存することもできます。いくつかのISOをマウントして、ドライブ文字を表示し、ドライブの1つでファイルを実行してから、すべてのISOをマウント解除します。
ISOをマウントする
$MountedISOs=Mount-DiskImage -PassThru D:\Downloads\Ubuntu.iso,D:\Downloads\Windows8.iso,D:\Downloads\Server2012.iso
foreach
ループを使用してマウントされた各ISOのボリューム情報を表示します
foreach($iso in $MountedISOs){Get-Volume -DiskImage $iso}
Jドライブのリスト
ls J:\
ファイルを開く
start wubi.exe
ISOをマウント解除するには、次のコマンドを使用します。
Dismount-DiskImage $MountedISOs.ImagePath
ISOが添付されており、実際にはISO(VHDに対して)であるかどうかを確認する単純なスクリプトを作成するには、-PassThru
を使用してオブジェクトを一時的に保存し、Get-DiskImage
コマンドを使用して更新しますDiskImageオブジェクトのステータス。これにより、Attached
プロパティが更新されます。 StorageType
プロパティは、ファイルの拡張子に応じて、ファイルがISOであるかVHDであるかを示します。
VHDのStorageType
は2で、ISOは1を返します。これが$UbuntuISO
の出力です。
これは、VHDをマウントした後の$temp
の出力です:(Mount-DiskImage
はVHDもマウントできます!)
上記のAttached
プロパティはFalse
ですが、Mount-DiskImage
コマンドは問題なく実行されています。
$UbuntuISO
変数も更新されないことに注意してください。
通常、これをコマンドラインから行う場合は、非インタラクティブな方法が必要です。 -ImagePath
これを行うにはスイッチ。
したがって、コマンドは次のとおりです。
PowerShell Mount-DiskImage -ImagePath \"C:\AbsolutePathTo\Image.iso\"
(スペースやその他の特殊文字を含む)絶対パスを引用する場合は、引用符をエスケープする必要があることに注意してください。
Isoイメージをマウント解除するには、必ず引用してください:
PowerShell "Get-Volume G | Get-DiskImage | Dismount-DiskImage"
最初のケースではコマンドを引用する必要はありませんでしたが、|
パイプは、PowerShell
(PowerShellが自動的に単一のコマンドに連結する)に引数を追加するのではなく、コマンドラインコンテキストにあるとコマンドラインに認識させます。
また、Dismount-DiskImage
正しく(Dismountにk
はありません)。