
Windows 7用のバックアップスクリプトを作成中ですが、最後に実行したいアクションは、バックアップ先のUSBドライブを安全に「取り外す」ことです。ドライブをUSBドライブに接続すると、同じUSB ポートは常に同じ DEV_ID を維持します (間違っていたら訂正してください)。コマンド ライン (または PowerShell) を使用して、ユーザー入力なしでハードウェアを自動的に安全に取り外すように Windows に指示するにはどうすればよいですか?
参考までに、これを実行できる可能性のある他の OS についても知っておくと便利です。
答え1
ドライブを削除過去には私によく役立ってきた
答え2
ウーヴェ・ジーバーのドライブを削除他の回答でも触れられているように、これを実現できるユーティリティはたくさんあります。以下に小さなリストを示します。
USB ディスク イジェクター主に GUI ベースのユーティリティですが、コマンド ラインから同様に使用して、プログラムが実行されているドライブを取り出すことも、ドライブ文字 / (部分的な) ドライブ名 / マウント ポイントなどを指定して任意のドライブを取り出すこともできます。無料のオープン ソースです。
USBの安全な取り外し無料ではありませんが、これは強力なディスク削除ユーティリティであり、高度な機能もちろん含むコマンドラインサポート。ゼンティモ兄貴分である平 もっと 特徴。
マイクロソフト独自のデベコンデバイス マネージャーのコマンド ライン バージョンです。KB ページから入手できるオリジナルの Win2K/XP 時代のバージョンのほかに、このドキュメントで説明されているように、さまざまな MS ソースから入手できる新しいリリース (32 ビットと 64 ビットの両方) があります。DevCon.exe の場所記事。Windows 7(おそらくWindows 8も)のDevCon.exeは、適切な場所に埋め込まれています。Windows ドライバー キット (WDK)、で述べたようにこのスレッド(ダウンロードリンクも含まれています抽出された実行可能ファイル)。
devcon status *
またはdevcon hwids *
またはdevcon findall =usb
(よりコンパクトなリストの場合) は、デバイスのハードウェア ID を示します。例:USB\VID_0781&PID_7113\0001162825
名前: USB 大容量記憶装置デバイス
ドライバーが実行中です。その後、次の方法でデバイスを削除してみてください
devcon remove "USB\VID_0781&PID_7113"
(ワイルドカード (* など) を使用できますが、注意しないとまったく別のものを削除してしまう可能性があります)。
誰かが尋ねた「サムドライブを取り出すための DOS プロンプト (Win7 の cmd.exe) コマンドはありますか?残念ながらこのスレッドの重複として閉じられました。しかし、質問はUSBドライブを取り出しているときにWindows 回復コンソール/システム回復コマンドプロンプトなので、上記のユーティリティはどれも役に立ちません。このような状況では、次の方法を使用します。ディスクパート動作するはずです:
と入力して
diskpart
、diskpartプロンプトを待ちます(DISKPART>
)タイプ
list volume
USBドライブのボリューム番号を注意深く書き留めてください(ドライブ文字、ラベル、タイプ、サイズなどのプロパティを参考にしてください)
タイプ
select volume <number>
、 は<number>
上記で記録した巻数ですタイプ
remove all dismount
exit
Diskpartを終了するには入力してください
これで、データ損失を心配することなく、USB ドライブを安全に取り外せるようになります。
答え3
答え4
内部コマンドが見つからず(MSに感謝)、スクリプトも1つも機能せず、文字を削除するのは取り出し方法としては良くなく、対話的な方法も良くなく、サードパーティのツールを使うのは嫌です。私の場合は、20年間ドライブに残っているものを使用しています。社内のMicrosoft Windows システムインターナルこのケースを裏付けるもの:
sync -e x:
- USBドライブをフラッシュする
- USBドライブを取り出す
- 手紙を保管する
- USBツリーを歪ませない
ロックの場合はSysinternalsを使用するハンドルまたはプロセスエクスプ調べるために。