vb.netからWindowsのコマンド起動して(PowerShell等)でformatでなくDVDのデータを消去したいがWindows10のコマンドでできないですか?

masami kusumoro 60 評価のポイント
2024-03-19T00:32:06.91+00:00

vb.netからWindowsのコマンド起動して(PowerShell等)でformatでなくDVDのデータを消去したいがWindows10のコマンドでできないですか?

Windows10の画面からは、エクスプローラーからDVDディスクを挿入したドライブ名を右クリックし、表示された一覧から「このディスクを消去する」の機能です。018662i_20210511044742838

Windows 10
Windows 10
パーソナル コンピューターとタブレットで実行される Microsoft オペレーティング システム。
53 件の質問
.NET
.NET
.NET ソフトウェア フレームワークに基づく Microsoft テクノロジ。
32 件の質問
VB
VB
.NET Framework 上に実装される、Microsoft によって開発されたオブジェクト指向プログラミング言語。 旧称 Visual Basic .NET。
5 件の質問
PowerShell
PowerShell
コマンドライン シェルと関連するスクリプト言語で構成される Microsoft タスク自動化および構成管理フレームワークのファミリ。
9 件の質問
0 件のコメント コメントはありません
{count} 件の投票

1 件の回答

並べ替え方法: 最も役に立つ
  1. Raina Zhao - MSFT 1,870 評価のポイント Microsoft ベンダー
    2024-03-19T06:48:58.1266667+00:00

    masami kusumoroさん、こんにちは。

    Microsoft Q&A フォーラムにご投稿くださいましてありがとうございます。

    IMAPI2 ライブラリの IDiscFormat2Erase インターフェイスを使用して、DVDのデータを消去することができます。

    以下のコードを参照してください。

    1. IDiscFormat2Erase インターフェイスとその GUID を定義する。
    2. MsftDiscFormat2Erase クラスを定義して、IDiscFormat2Erase インターフェイスを実装する。
    3. MsftDiscFormat2Eraseで IDiscFormat2Erase のインスタンスを作成する。
    4. インターフェイス インスタンスで EraseMedia メソッドを呼び出して、DVD パスをパラメーターとして渡します。

    Imports System.Runtime.InteropServices

    Public Class Form1

    ' 定数の定義

    Private Const S_OK As Integer = &H0

    Private Const STG_E_MEDIUMFULL As Integer = &H80030070

    ' GUID の定義

    Private Class IID_IDiscFormat2Erase

    Public Const IID As String = "27354130-7F64-5B0F-8F00-5D77AFBE261E"

    End Class

    ' インターフェイスの定義

    <ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid(IID_IDiscFormat2Erase.IID)>

    Private Interface IDiscFormat2Erase

    Sub EraseMedia(<[In], MarshalAs(UnmanagedType.BStr)> ByVal recorderPath As String)

    End Interface

    ' インタフェースを実装するクラスを定義する

    <ComImport, ClassInterface(ClassInterfaceType.None), Guid(IID_IDiscFormat2Erase.IID)>

    Private Class MsftDiscFormat2Erase

    End Class

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim format2Erase As IDiscFormat2Erase = New MsftDiscFormat2Erase()

    ' 「D:」を適切なDVDドライブパスに入れ替える

    Dim recorderPath As String = "\\.\D:"

    Try

    format2Erase.EraseMedia(recorderPath)

    MessageBox.Show("DVD erased successfully.")

    Catch ex As Exception

    MessageBox.Show("DVD erase failed: " & ex.Message)

    End Try

    End Sub

    End Class

    どうぞよろしくお願いします。


    役に立った回答には「回答を受け入れる」と「いいね!」を押してください。さらに質問がある場合は、「コメント」を追加してください。注意:Q&Aからメール通知を受け取りたい場合には、ドキュメントの手順に基づき、メール通知を有効にしてください。

    0 件のコメント コメントはありません