HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


PowerShellの開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > PowerShell Tips > 自作関数 Tips メニュー

01.現在日時からファイル名を作成する

 
UPDATE:2008/05/02    
 
<< 前のTips  次のTips >> 



PowerShellで現在日時を取得するには Get-Dateコマンドレットを使用します。

まず最初にGet-Dateコマンドレットを利用して、現在日時(たとえば2008/04/27 10:12:23という日時)から20080427_1012023.txtのようなファイル名を、コマンドラインから作成してみたい音思います。

List1

PS > $filename = $(Get-Date).ToString("yyyyMMdd_hhmmss") + ".txt"

上記を再利用しやすくするため関数にしたのが下記です。

Get-DateFilename.ps1

#===============================================================================
# Get-DateFilename: 現在日時でファイル名を作成した文字列を返す
# Param:
# $extension : ファイル名につける拡張子(ドットは付けても付けなくても良い)
#
# 使用例
# #現在日時でテキストファイル名を作成する
# Get-DateFileName ".txt"
#
# ヘルプを見る場合は
# Get-DateFileName /?
#
# copyright HIRO's.NET(http://blog.hiros-dot.net/)
#===============================================================================
function global:Get-DateFileName {
Param ([string]$extension)

#ヘルプの参照か?
if ( $extension -eq "-?" )
{
$helpmsg = @"
書式`r`n
Get-DateFileName`" 付加する拡張子`"`r`n
`r`n
使用例`r`n
#現在日時でテキストファイル名を作成する
Get-DateFileName `".txt`"

#ヘルプを参照する
Get-DateFileName /?

"@

Write-Host $helpmsg
return
}

#パラメータが指定されていて且つ先頭にドットがない場合
if ( ($extension.length -gt 0) -and (-not $extension.StartsWith(".")) )
{
#ドット + 拡張子
$extension = "." + $extension
}

return $($(Get-Date).ToString("yyyyMMdd_hhmmss") + $extension)
}

使用方法は、拡張子が.txtのファイル名を作成する場合は

List2

PS > Get-DateFileName ".txt"

使用方法を参照したい場合は下記のように入力してください。

List3

PS > Get-DateFileName -?
 
<< 前のTips  次のTips >>