eightban's memo

残しておきたい記事をまとめてみました。このブログに書いてあるドキュメントやブログで配布しているファイルの使用によって発生するいかなる損害に対してもこのブログの管理者は責任を負いません。使用する場合は自己責任のもとに使用してください。

bat PowerShell  windows

バッチファイルの中でファイルダイアログや フォルダーダイアログや メッセージボックスを表示してファイル名などの戻り値をバッチファイルの変数に連携する方法

更新日:

Vbスクリプトを使用せずパワーシェルで行う方法です

ファイルダイアログ

FOR /F "usebackq" %%a IN (`powershell -command "Add-Type -assemblyName System.Windows.Forms ; $dialog = New-Object System.Windows.Forms.OpenFileDialog;if ($dialog.ShowDialog() -eq 'OK') { return ($dialog.FileName)} else { return ('')}"`) DO @SET contents=%%a
echo %contents%

フォルダーダイアログ

FOR /F "usebackq" %%a IN (`powershell -command "Add-Type -assemblyName System.Windows.Forms ; $dialog = New-Object System.Windows.Forms.FolderBrowserDialog;if ($dialog.ShowDialog() -eq [System.Windows.Forms.DialogResult]::Cancel) { return ($null)} else { return ($dialog.SelectedPath)} "`) DO @SET contents=%%a
echo %contents%

メッセージボックス

FOR /F "usebackq" %%a IN (`powershell -command " Add-Type -assemblyName System.Windows.Forms ;return [System.Windows.Forms.MessageBox]::Show('which', 'which', 'YesNo')"`) DO @SET contents=%%a
echo %contents%

if "%contents%" equ  "Yes" (
echo レベル0
) else if "%contents%" equ  "No" (
echo レベル1
) else (
echo レベルは%contents%
)

ボタンの種類を変える

OK
YesNo
OKCancel
YesNoCancel

-bat, PowerShell , windows

Copyright© eightban's memo , 2024 All Rights Reserved Powered by STINGER.