秀丸ファイラで一発ファイル作成(PowerShellスクリプト版)
PowerShellの勉強。前回のインラインコードをスクリプトファイルにしてみた。
成果物
対象環境
- Windows XP Pro SP3 32bit
- 秀丸ファイラ 1.10
- PowerShell 2.0.50727.3655
- .NET Framework 4.0
ソースコード
主要
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
ディレクトリパスが存在しない
powershell ./mknfile.ps1 "C:\a" "txt"
秀丸ファイラ
もちろん、秀丸ファイラからも呼び出せる。
powershell ./mknfile.ps1 %V txt
所感
いろいろ気になったことがある。次回まとめて書く。