月: 2020年1月

PowerShell覚書 ファイル操作いろいろ

最近、VBSよりPowerShellのほうをよく使うようになった。
イケてないところは多々あるものの、デバッグもしやすいので便利だ。

ファイル操作のアレコレをこの投稿にいろいろ書き足していこうと思う。
(アレコレって、漢字だと「彼是」って書くのね。知らんかった。)

【ファイル検索】
例えば、「Cドライブ」直下のファイルを漁りたいときはこんな感じ。
Get-ChildItemの戻り値を「 」(半角スペース)でSplitしてやれば、ファイル名のリストを取得できる。

$dir = "C:\";
$files = Get-ChildItem $dir;
$files_arr = $files -split " ";

【フォルダ検索】
「W」で始まる「Cドライブ」直下のディレクトリを漁りたいときはこんな感じ。
Get-ChildItemの戻り値を「 」(半角スペース)でSplitしてやれば、ディレクトリ名のリストを取得できる。
Where-Object で、「$_.PSIsContainer」を指定すればディレクトリだけを取得できる。

$dir = "C:\";
$subdir = Get-ChildItem $dir | Where-Object { $_.PSIsContainer } | Select-String "^W";
$sub_arr = $subdir -split " ";

【フォルダ・ファイル有無確認】
指定フォルダ、ファイルがあるかどうかは「Test-Path」を使う。

if (Test-Path ($dir)) {
   # あるとき
} else {
   # ないとき
}

【フォルダ作成】
フォルダ作成は「New-Item」で、パスを指定して、「-ItemType Directory」のオプションをつける。
「-Force」はすでにフォルダがあるときは、エラーにならないようにするときにつける。

New-Item $dir -ItemType Directory -Force;

【ファイルコピー】
ファイルコピーは「Copy-Item」で、コピー元のパスを指定して、「-Destination」でコピー先を指定する。
「-Force」はすでにコピー先にファイルがあっても、エラーにならないようにするときにつける。

Copy-Item $src_path -Destination $goto_path -Force;

【ファイル移動】
ファイル移動はコピーしてから削除するのがいい。
「Remove-Item」の「-Recurse」は削除対象がフォルダであれば、中のファイルを削除してからフォルダも消してくれる。
「-Force」をつければ、隠しファイルとかも消してくれるそう。

Copy-Item $src_path -Destination $goto_path -Force;
Remove-Item -Path $src_path -Recurse -Force;

【ライブラリ利用】
ライブラリは、パスを指定して読み込んでやらないと使えない。こんな感じ。

[string]$dll       = "C:\....\.....dll";
[void][reflection.assembly]::LoadFrom($dll);

PostgreSQL覚書 RETURNIG *

UPDATE、INSERT、DELETE文の最後に「RETURNING *」を加えてやると、「更新件数が返ってくる」というのをネット上で見たのだが、厳密にはどうやらそうではないらしいのでメモっておく。

INSERT .... RETURNING *

と書くとINSERTしたデータ行がすべて返ってくるのであって、件数が返ってくるわけではないのだ。
結局、

INSERT .... RETURNING {キー項目}

みたいに書いて、返ってきたデータの行数から更新件数を導きだす必要があるのだ。
だから、Javaなんかだと、SQL文を実行後のResultSetのgetRowメソッドを使う。
例)

int kensu = rs.getRow();

みたいに、返ってきたデータの行数を取得してやるのだ。

中途半端な日本語を書かれると、こういう勘違いをしてしまう。

2020年

毎度ですが、
明けました、おめでとうございます。

年末年始は相も変わらず食っちゃ寝、食っちゃ寝、の繰り返し。
しかし、今年はそれにプラスして、Amazonプライムでアニメやドラマ・映画を見ていて、結構よかった。

でも、疲れが抜けん。
そして、今日もまた仕事でミスってしまう。

と、毎年変わらぬことを繰り返しているのだが、そんだけ同じことばっかり繰り返している人生にも価値があるのだろうか・・・と少しばかり思って反省してしまう。

元日にはこれも毎年恒例の映画ファーストデーを利用した映画鑑賞をしたのだが、やはり今年はスターウォーズだ。

昔はファーストデーは1,000円で観られるから価値があったのだが、今は1,200円もする。
この200円の差は大きいな、と思いつつロビーでスナックとホットミルクティーを買ってシアターに入る。

年末に座席予約したとき、すでに上半分はほぼ埋まっていたので、仕方なく下のほうの席を取ったのだが、やっぱり角度的に下はきついなぁ、とちょっと後悔しながら予告を見る。

そして本編。
今までみたスターウォーズの中でも一番良かったんじゃないかい!!と思った。
観終わった感Maxな感じ。
(スピンオフとか作るの止めてね、ホント。もう「最後」気分味わったんで)

では、今年も「フォースと共にあらんことを」
って、なんのこっちゃ。