ファイル名の末尾に日付を加える
最終更新:2011/11/11 作成日:2010/09/20 分類:
ファイル操作
関数定義
function AddDate([string]$Path)
{
$item = Get-Item -LiteralPath $Path
# フォルダーとファイルの差を吸収する
if($item.Length -eq $null)
{ $parent = $item.Parent.FullName }
else { $parent = $item.DirectoryName }
$time = Get-Date -Format "yyyy.MM.dd"
return "{0}\{1}.{2}{3}" -f
$parent,$item.Basename,$time,$item.Extension
}
実行例
PS U:\Work> # フォルダー名の末尾に日付
PS U:\Work> AddDate U:\Work\2chLog
U:\Work\2chLog.2011.11.11
PS U:\Work>
PS U:\Work> # ファイル名の末尾に日付
PS U:\Work> AddDate U:\Work\Folder.note
U:\Work\Folder.2011.11.11.note
PS U:\Work>
解説
バックアップ用のファイルもしくはフォルダーにつける名前として、末尾に日付をつける方法がよく使われます。上記の関数を実行すると、ファイル名やフォルダー名の末尾に今日の日付がつきます。
$itemがファイルの場合とフォルダーの場合とで、親フォルダーのパスの取得方法が変わります。そのため、条件分岐を利用して、どちらの場合でも $parent に親フォルダーのパスが入るようにします。