SQLの窓

2018年06月09日


PowerShell( 実質C# )を使用して、MessageBox の応答でバッチファイルの処理を変化させる

PowerShell は、C# のコードをそのまま実行する事ができるので、MesaageBox を表示させて、そまの応答結果をファイルに書き込んで、バッチファイル内の for で読み込み、内容によって実行先を変化させます

console_message_box.ps1
$code = @"
using System;
using System.IO;
using System.Windows.Forms;
public class MyClass {
	public static void console_message_box() {

		string path = Environment.GetEnvironmentVariable("temp");

		string writePath = string.Format(@"{0}\_check_result",path);

		StreamWriter sw = new StreamWriter(writePath,false);

		DialogResult check = MessageBox.Show("実行しますか?","確認", MessageBoxButtons.OKCancel);
		if (check == DialogResult.OK)
		{
			sw.Write("1");
		}
		else
		{
			sw.Write("0");
		}

		sw.Close();

	}
}
"@

Add-Type -Language CSharp -TypeDefinition $code -ReferencedAssemblies ("System.Windows.Forms")

[MyClass]::console_message_box()



inter_active.bat
echo off

echo 処理を開始しました

powershell -NoProfile -ExecutionPolicy Unrestricted .\console_message_box.ps1

FOR /F %%i IN (%temp%\_check_result) DO (
	if "%%i"=="1" goto :ok
	if "%%i"=="0" goto :cancel
)

:ok
echo OK を選択しました
goto :end

:cancel
echo Cancel を選択しました
goto :end


:end


関連する記事

PowerShell : ファイルを開くダイアログを使うのに System.Windows.Forms を参照する二つの方法

バッチファイル内で、コマンドプロンプトが管理者権限で実行されているかのチェック






【PowerShellの最新記事】
posted by lightbox at 2018-06-09 23:05 | PowerShell | このブログの読者になる | 更新情報をチェックする
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり