kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

ファイル情報をデータベースに突っ込む

バージョンごとにリリースした物件をデータベースに格納しようと、簡単にスクリプトを作ってみました。

$connObj = new-object Data.sqlclient.sqlconnection
$connObj.ConnectionString="Server=サーバ名;Database=データベース名;Integrated Security="true"
$connObj.open() 
$cmd=$connObj.createcommand()

$dlls = get-item -path \\server\share\folder\*.dll

foreach($dll in $dlls){
 $cmd.commandtext = "insert into 表名 values(...)"
 $count = $count + $cmd.ExecuteNonQuery()
}
$count
$connObj.close()

ここではテーブルを省略していますが、カラムとしてはファイル名、サイズ、最終更新日、ハッシュ値、格納先などが考えられるでしょう。LAMPな方々では今更とかいうものかもしれませんが、Windows Server 2008でPowerShellを標準で入れられるようになったおかげで助かりますね(といっても、明示的に追加しないといけないけど)。
それからcommandtextプロパティは自分がローカルで動かすためのものだからということもあって、SQLインジェクションってなんですか?モードで作っています。