2020年にもなってMDBファイルを触ることになるとは思わなかった.
PowerShellは便利だ.
使うときにはこの辺のコンポーネントが必要だと思う.
Microsoft Access Database Engine 2016 Redistributable
####################################################################### # 概要 # mdbファイルを開いてテーブルの一覧を出力する # 書式 # table-list.ps1 [mdbファイルへの相対パス] [mdbファイルパスワード] ####################################################################### Param($filename, $password) # MDBファイルのファイルパスを組み立てる $filepath = join-path $PSScriptRoot $filename $connection_string = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source = ${filepath};" # パスワード指定の場合にはパスワードをConnectionStringへ加える if($password -ne '') { $connection_string += "Jet OLEDB:Database Password = ${password};" } $catalog = New-Object -ComObject "ADOX.Catalog" $conn = New-Object -ComObject "ADODB.Connection" $conn.Open($connection_string) $catalog.ActiveConnection = $conn foreach($tbl in $catalog.Tables) { #Write-Output $tbl #テーブル名だけほしい時はこっち Write-Output $tbl.name } $conn.Close()