このブログを見て下さった皆様に、心より感謝申し上げます。名前はゲームブログですが、色々な話題を書かせて頂きたいと思います(大好きな写真/映像/カメラ、ペン、コンピュータ、食べ物、映画、クルマ、家電製品などなど)。 なにとぞ、これからもよろしくお願いいたします。皆様あってのブログです。
2009年11月19日木曜日
急がば回れ?秀丸エディタ起動コード作成
今回の記事は、Windows Power Shellにて秀丸エディタなどのプログラムの起動について書かせて頂きます。
Windows Power Shellにて秀丸エディタを起動しようと思い、「hidemaru」と入力したところ、起動せず。
パスを通しても起動せず。ありゃりゃ。
Invoke-Itemコマンドを使えば起動出来るのですが、同時に読み込むファイル名を指定出来ないのでイマイチ。
これは自分でコードを組むしかないか・・・。と作ってみました。
急がば回れといいますが、その通りになってしまいました。
まず、ファイル名から、フルパスを求める関数を作りました。
関数名=GetFullPath()
存在しないパスを指定されたら、とりあえずカレントディレクトリとファイル名でパスを作り直す機能を実装してあります。Windows Power Shellには、Test-PathやConvert-Pathなどのパス関係の便利なコマンドが沢山あるので楽しいですよ。ちなみにマイクロソフトではコマンドをコマンドレットと呼称してますね。
これを使って、外部プログラムを起動する処理を作りました。
関数名=Go_Process()
外部プログラムを起動するのは、実は結構大変。
System.Diagnostics.Process(ダイアグナスティック=診断)というクラスをインスタンス化するのですが、単体ではあまり使えません。
これとは別立てで、System.Diagnostics.ProcessStartInfoという、実行プログラムの情報をセットするクラスをインスタンス化して、こっちに情報をセットしてから、.ProcessのStartInfoプロパティに渡してあげないといけないんですね。
回りくどいですが、これによって、プログラム名ばかりか、同時に読み込むファイルなどの引数情報や、プ呼び出し元を好きな時間待機させる機能まで実現できるので、業務プログラムなんかには絶大な威力を発揮します。
で、作りました。
hidemaru 同時に読み込むファイル名
で秀丸エディタが起動可能に。
ちなみに、
hidemaru 同時に読み込むファイル名 待機時間
で、秀丸を終了するまでコマンドシェルを待機させられます。待機時間-1で秀丸を終了するまでずろっとコマンドシェルを待機させられます。
秀丸では意味が薄いですが、Go_Process()関数は汎用的に使えるので、呼び出したプログラムが起動するまで待機という機能はいつか役立つのではないかと思います。
しかし、それにつけてもAspire 1410は便利だなぁ。
しみじみ。
寒い時でもコタツや布団の中で色々できるし、モバイルなのでクルマの中とか出先とかで使えるし。ただ、盗難や破損に最大限の注意をしなきゃあならないです。
念のため、重要情報はAspireの中には入れてません。
自宅のNASの中に格納してあるんですけれど、だからって注意を怠ってはいけないですね。