Windowsでドライブ文字の代わりにボリュームIDを使用してディスクドライブにアクセスできますか?外付けドライブに非常に役立ちます。
コマンドプロンプトでmountvol
を使用して、アクセスするボリュームのIDを取得できます。
このIDを使用して、ドライブ文字に関係なく、エクスプローラウィンドウを開くことができます。
ドライブへのショートカットを作成するには、次の内容で新しいバッチファイルを作成します。
start \\?\Volume{1b3b1146-4076-11e1-84aa-806e6f6e6963}\
PowerShell では、- Get-Volume
パイプスルー Format-List
このように:
get-volume | fl
あなたが必要とするすべてをあなたに与えます、例えばこれSYSTEM RESERVED
私のマシンの1つのボリューム:
ObjectId : {1}\\Acer-M3900\root/Microsoft/Windows/Storage/Providers_v2\WSP_Volume.ObjectId="{5b16a307-de54-11e7-8aeb-806e6f6e6963}:VO:\\?\Volume{b41b0670-0000-0000-00e8-0e8004000000}\"
PassThroughClass :
PassThroughIds :
PassThroughNamespace :
PassThroughServer :
UniqueId : \\?\Volume{b41b0670-0000-0000-00e8-0e8004000000}\
AllocationUnitSize : 4096
DedupMode : NotAvailable
DriveLetter :
DriveType : Fixed
FileSystem : NTFS
FileSystemLabel : SYSTEM RESERVED
FileSystemType : NTFS
HealthStatus : Healthy
OperationalStatus : OK
Path : \\?\Volume{b41b0670-0000-0000-00e8-0e8004000000}\
Size : 105058304
SizeRemaining : 33992704
PSComputerName :
フラッシュドライブには絶対ドライブ文字を使用することを好みます。 20台以上のフラッシュドライブがない限り、ほぼすべての人に適切な割り当てがあります。
Windows 7では、Windowsを使用してドライブラベルをフォーマットして割り当てます。ドライブにすでにラベルが付いている場合は、コマンドラインの「ラベル(ドライブ文字)」を使用して、選択したラベルを付けます。
次に、コントロールパネル、システムとセキュリティ、管理ツール、コンピューター管理、ディスク管理に移動し、ドライブを右クリックして作成したラベルの付いたドライブを選択し、ドライブ文字とパスの変更を選択して、ボリュームを特定のドライブ文字に割り当てます。使用可能な場合は、常にそのドライブ文字にマウントされます。
ライブデータを含むドライブにラベルを付けましたが、そのラベル付けは既存のデータにまったく影響を与えませんでした。古き良き時代のフロッピーと同じように機能するようです
次のようにPSのラベルを使用してディスクドライブにアクセスできます。
ls -l (Get-Volume | ? FileSystemLabel -eq "Barry Allen drive").Path
短縮されています。読みやすくするためにスクリプトでは完全な形式を使用してください-以下を参照してください
GPTは特別なパーティションに固定IDを使用します。これらを使用して、移植可能なスクリプトを記述し、文字を割り当てずに任意のコンピューターの回復ボリュームまたはシステムボリュームにアクセスできます。
システムボリューム:ls -l (Get-Partition | ? GptType -eq "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}").AccessPaths[0]
回復ボリューム:ls -l (Get-Partition | ? GptType -eq "{de94bba4-06d1-4d40-a16a-bfd50179d6ac}").AccessPaths[0] -Force
cd "$((Get-Partition | ? GptType -eq "{de94bba4-06d1-4d40-a16a-bfd50179d6ac}").AccessPaths[0])Recovery"
MSR:UEFIにはMSRパーティションもあります(あるはずです)が、ボリュームもファイルシステムもないため、MSRパーティションにアクセスできません。
エラー:ls -l ((Get-Partition | ? GptType -eq "{e3c9e316-0b5c-4db8-817d-f92df00215ae}").AccessPaths[0]) -Force
3つの警告:
Get-Volumeは、管理者特権で実行されていない限り、非表示のボリュームを一覧表示しません。Get-Partitionは、昇格されていないボリュームを一覧表示しますが、それ以上昇格されていないボリュームにはアクセスできません。
Get-ChildItem(ls)では、-LiteralPath引数(-l)を使用してデバイスパスを渡す必要があります。これは '?'のせいではありません特殊文字。 -Pathは、「?」であってもデバイスパスでは機能しません。エスケープされます。
デバイスパスのルートにCDを挿入することはできません。しかし、そのフォルダーにCDを作成することは可能です。
読みやすくするために、スクリプトでは常に完全な形式を使用してください
ls -l ((Get-Partition | ? GptType -eq "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}").AccessPaths[0])
の略:
Get-ChildItem -LiteralPath ((Get-Partition | Where-Object { $_.GptType -eq "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}" }).AccessPaths[0])
ls
はGet-ChildItem
のエイリアスです-l
は短縮されます-LiteralPath
? *attribute* -eq "*value*"
は? { $_.*attribute* -eq "*value*" }
の短縮構成です?
はWhere-Object
のエイリアスです-Force
は、復元ボリューム上の隠しファイルを表示するために使用されます
Get-PartitionとGet-Volumeの使用:
Get-PartitionはGptTypeパラメータを提供しますが、Labelは提供しません。Get-VolumeはLabelを提供しますが、GptTypeは提供しません