読者です 読者をやめる 読者になる 読者になる

やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

秀丸ファイラで一発ファイル作成(PowerShellスクリプト版)

ワークフロー

PowerShellの勉強。前回のインラインコードをスクリプトファイルにしてみた。

成果物

GitHubMakeNowFile

対象環境

ソースコード

主要

cd $Args[0]
New-Item -ItemType file ((Get-Date -Format "yyyyMMddHHmmssfff") + "." + $Args[1])

やりたいことはこれだけ。エラー処理を入れると長くなる。

全コード

mknfile.ps1

# 日付ファイルを作成する。
# 
# $Args[0] ファイルを作成するディレクトリパス
# $Args[1] 作成するファイルの拡張子
if ($Args.Count -lt 2) {
    [Void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms");
    [System.Windows.Forms.MessageBox]::Show(
        ("次のように2つの引数を与えてください。`n`n" + 
         "`$Args[0]: `"C:\dir\`" <ファイルを作成するディレクトリパス>`n" +
         "`$Args[1]: `"txt`"     <作成するファイルの拡張子>`n"), 
        "引数エラー", "OK", "Error");
    return;
}
if (-not(Test-Path $Args[0])) {
    [Void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms");
    [System.Windows.Forms.MessageBox]::Show(
        ("指定したディレクトリパスは存在しません。`n`n" + 
         "`$Args[0]: `"" + $Args[0] + "`""), 
        "引数エラー", "OK", "Error");
    return;
}
cd $Args[0]
New-Item -ItemType file ((Get-Date -Format "yyyyMMddHHmmssfff") + "." + $Args[1])

別ファイルにする方法も確認してみた。

実行

コンソールから実行できる。

正常

powershell ./mknfile.ps1 "C:\" "txt"

C:\ディレクトリ配下に20160102030405678.txtという名前の空ファイルが作成される。

エラー

引数が2個より少ない

powershell ./mknfile.ps1

f:id:ytyaru:20161208192103p:plain

ディレクトリパスが存在しない

powershell ./mknfile.ps1 "C:\a" "txt"

f:id:ytyaru:20161208192123p:plain

秀丸ファイラ

もちろん、秀丸ファイラからも呼び出せる。

powershell ./mknfile.ps1 %V txt

所感

いろいろ気になったことがある。次回まとめて書く。