2009/12/01 更新
1) OpenFileDialog.exe をビルドしてパッケージ化しました
2) サンプルパッチファイルを付加しています
ブラウザでダウンロード
概要
コマンドプロントベースでファイルの参照ダイアログを開き、標準出力に出力すると、
バッチファイルでファイルのパスを取り出す事が出来ます。
Imports System.Windows.Forms
Module Module1
Sub Main()
Dim ofd As OpenFileDialog = New OpenFileDialog()
If ofd.ShowDialog = Windows.Forms.DialogResult.OK Then
Console.Out.WriteLine(ofd.FileName)
Else
Console.Out.WriteLine("")
End If
End Sub
End Module
@echo off
REM ここでセットされた環境変数は、このバッチファイル内でのみ有効
setlocal
REM 1回目のメモ帳起動
REM 選択してない場合は For 内には入らないので if の
REM 真の実行文は何でも良い
REM "delims=" は、区切り文字をデフォルトのスペースから無しに変更
For /F "delims=" %%i in ('OpenFileDialog.exe') do (
if "%%i"=="" ( pause ) else ( notepad.exe "%%i" )
)
REM 2回目のメモ帳起動
REM 選択した場合のみ処理される( 前回と同じ )
For /F "delims=" %%i in ('OpenFileDialog.exe') do (
if not "%%i"=="" ( notepad.exe "%%i" )
)
REM ファイル参照の結果を一旦変数にセット
For /F "delims=" %%i in ('OpenFileDialog.exe') do (
set PATH01=%%i
)
REM ファイルが選択されなかった場合の処理は終了
if "%PATH01%"=="" ( goto ExitAction )
REM 3回目のメモ帳起動
notepad "%PATH01%"
REM 終了
:ExitAction
echo "%PATH01%"
関連するページ
Framework2.0 VB.NET バッチビルドセット