0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ImgBurnでDVDフォルダをISOファイルにする(VBA, cmd利用)

Posted at

はじめに

ImgBurnを使って DVDフォルダ(VIDEO_TSフォルダ)を ISOイメージファイルへ変換する手順について記載します。
また Excel VBA 及びバッチファイル(.bat)で自動化・連続実行できるようにします。

なお使用している ImgBurnのバージョンは 2.5.8.0 で、PCへインストール済みが前提となります。

ImgBurn初期設定

自動化に必要な ImgBurnの初期設定を行います。

ボリュームラベルの自動設定

ImgBurnを起動し、画面上部のToolsからSettings...を選択。
image.png

Buildタブ内のPage 3タブで、Don't Prompt Volume Labelにチェックを入れます。(その下のAnswer 'Yes'にもチェックを入れる必要がありますが、デフォルトでチェックが入っています)
image.png

この設定でボリュームラベルが自動設定されますが、手動で設定したい場合はチェックを外してください。
ただし手動で設定する場合は DVDごとに値を決めてやる必要があります。

(任意) サウンドの無効化

Soundタブ内のPlay Success SoundPlay Error Soundのチェックを外します。
image.png

レイヤーブレークの無効化

OKを押して戻ったら、画面内のCreate image file from files/foldersを選択します。
image.png

画面右側のAdvancedタブ内のMediaタブ内、Single Layerの項目でProfileCustomeに選択し、Maximum Sectorsの値を4173824に設定します。
image.png

ここではレイヤーブレーク(ブレークポイント、Layer Break Position)の設定を無効化しています。

二層構造の DVDを再生する際に発生するレイヤーブレークの位置を、ImgBurnでは手動で設定して最適化(不自然でない位置に設定し直す)できます。
しかし ISOイメージファイルにする分には無意味である上に、このために都度レイヤーブレークの位置を手動で選択しなければいけないので自動化を阻んでいます。

そこで本設定をすることで、元々二層構造だった DVDであっても一層構造であるように見せることができ、結果レイヤーブレークの設定をスキップできます。1

ImgBurnのコマンドライン操作

コマンドライン説明

以下のようにコマンドを使用します。

ImgBurn.exe /MODE BUILD /BUILDOUTPUTMODE IMAGEFILE /SRC "変換元フォルダのパス\" /DEST "変換先ファイルのパス.iso" /START /CLOSESUCCESS /NOIMAGEDETAILS

オプションについて、一つずつ説明します。

  • /MODE BUILD:ビルドモードを指定
  • /BUILDOUTPUTMODE IMAGEFILE:イメージファイルとして出力させます
  • /SRC "変換元フォルダのパス\":変換させたい DVDフォルダのフルパスを指定します(最後に\を入れます)
  • /DEST "変換先ファイルのパス.iso":変換後のファイル名をフルパスで指定します
  • /START:自動で動作を開始します(これがないとただ ImgBurnが起動するだけです)
  • /CLOSESUCCESS:変換に成功した場合、自動で ImgBurnを終了します(これがないと次のコマンドを実行できません)
  • /NOIMAGEDETAILS:DVDの詳細情報の表示をオフにします(これがないと毎回詳細情報が表示され、手動でボタンを押さなければ動作しないようになります)

コマンドライン例

imgburn.bat
cd C:\Program Files (x86)\ImgBurn
ImgBurn.exe /MODE BUILD /BUILDOUTPUTMODE IMAGEFILE /SRC "D:\DVD\hoge\" /DEST "D:\DVD\hoge.iso" /START /CLOSESUCCESS /NOIMAGEDETAILS

Excel VBAでバッチファイルを作成する

複数の DVDフォルダを自動でイメージファイル化するために、Excel VBAを用いてバッチファイルを作成します。

前提

Excelデータの準備

Excelの A列に、A1セルから変換したいフォルダのフルパスを順番に記述します。
フルパスの一括取得方法としては、変換元フォルダを選択した状態でShiftキーを押しながら右クリックし、出てきたメニューでパスのコピーを選択する方法があります。
image.png

もちろんコマンドプロンプトや PowerShell等での一覧取得でも結構です。

変換元フォルダ内の確認

変換元として指定できるフォルダは、VIDEO_TSフォルダ自体かVIDEO_TSフォルダの親フォルダのみです。
VIDEO_TSフォルダから 2階層上を指定すると、ImgBurnが正しく動作しません。
あらかじめ変換元フォルダの中身を確認しておいてください。

【OK】
VIDEO_TS
hoge\VIDEO_TS

【NG】
hoge\hoge2\VIDEO_TS

Excel VBAを記述する

標準モジュールで以下のように記述します。
Excel VBAの基本的な使い方等については省略します。

createBat
Sub createBat()

    'batファイル作成(既にある場合は上書き)
    Open "D:\DVD\imgburn.bat" For Output As #1

    'ImgBurn.exeへのパス指定
    Print #1, "cd /d ""C:\Program Files (x86)\ImgBurn"""
    
    Dim i As Long
    Dim path As String
    
    For i = 1 To 100
        path = Cells(i, 1).Value
    
        'データがない場合は繰り返しから抜ける
        If path = "" Then
            Exit For
        End If

        Print #1, "ImgBurn.exe /MODE BUILD /BUILDOUTPUTMODE IMAGEFILE /SRC """ & path & "\""" & " /DEST """ & path & ".iso""" & " /START /CLOSESUCCESS /NOIMAGEDETAILS"
    Next
    
    '一定時間待機した後、自己削除
    Print #1, "cd /d ""C:\Users\hoge"""  'どこでもよいが実行できる位置へ移動する
    Print #1, "timeout /t 10 /nobreak >null"
    Print #1, "del ""%~f0"""
   
    Close #1
    
    MsgBox "Done!"

End Sub

Excelの A列に以下のようにパスを記載します。

A B
1 D:\DVD\hoge
2 D:\DVD\hoge2
3 D:\DVD\hoge3

この状態で上記 VBAを実行することで、以下バッチファイルが作成されます。

imgburn.bat
cd /d C:\Program Files (x86)\ImgBurn
ImgBurn.exe /MODE BUILD /BUILDOUTPUTMODE IMAGEFILE /SRC "D:\DVD\hoge\" /DEST "D:\DVD\hoge.iso" /START /CLOSESUCCESS /NOIMAGEDETAILS
ImgBurn.exe /MODE BUILD /BUILDOUTPUTMODE IMAGEFILE /SRC "D:\DVD\hoge2\" /DEST "D:\DVD\hoge2.iso" /START /CLOSESUCCESS /NOIMAGEDETAILS
ImgBurn.exe /MODE BUILD /BUILDOUTPUTMODE IMAGEFILE /SRC "D:\DVD\hoge3\" /DEST "D:\DVD\hoge3.iso" /START /CLOSESUCCESS /NOIMAGEDETAILS
cd /d "C:\Users\hoge"
timeout /t 10 /nobreak >null
del "%~f0"

このバッチファイルを実行することで順にImgBurnが実行され、自動で DVDフォルダの ISOイメージ化からバッチファイルの削除まで実施されます。

脚注

  1. 参考:https://forum.imgburn.com/topic/15302-how-to-avoid-ignore-layer-break-prompt/#comment-120399

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?