2013-10-22

PowerShell: UTF-8のファイルを結合してShift_JISで出力

Windows上でBOM付きUTF-8のSQLファイルを結合してShift_JISにする必要があったのですが

type *.sql > out.sql

だとエンコーディングの変換ができないのでPowerShellにしてみました。

cat *.sql | out-file out\out.sql -encoding default

(-encoding defaultでShift_JIS。同じフォルダ上にout-fileするとcatのパターンに出力ファイルが引っかかって無限ループしたのでサブフォルダに出力しています)

PowerShellを起動していない場合、下記だけでもいいようでした。

powershell cat *.sql > out\out.sql

2013-10-19

C#: IMessageFilterでボタン押下を無効化

すでにClickイベントハンドラが設定されている複数のボタン(フォームも複数)である条件のときはボタンの動作をさせないようにする必要があったのですが、既存のイベントハンドラを外部から一時的にブロックするうまい方法が思いつかなかったのでWindowメッセージをフィルタする方法で処理を作ってみました(下記のような感じです)。

結局別の方法を取ったのでこの方法は使わなかったのですが、手っ取り早くボタン押下処理を無効化させるにはいいかもしれません。