PowerShellスクリプトを書いています。現在の日付を名前としてフォルダーを作成する方法を知りたい。フォルダ名は「.yyyy-MM-dd」(。NETカスタムフォーマット文字列による)でなければなりません。
フォルダーを作成するには、次のコマンドを使用する必要があることを知っています。
New-Item -ItemType directory -Path "some path"
可能な解決策は次のとおりです(スクリプトと同じディレクトリにフォルダーを作成する場合:
$date = Get-Date
$date = $date.ToString("yyyy-MM-dd")
New-Item -ItemType directory -Path ".\$date"
変数を作成する必要がないようにコマンドをチェーンする方法はありますか?
はい。
New-Item -ItemType Directory -Path ".\$((Get-Date).ToShortDateString())"
または、文化に関係なく同じフォーマットを取得するためにalrocが提案したように。
New-Item -ItemType Directory -Path ".\$((Get-Date).ToString('yyyy-MM-dd'))"
@notjustmeが書いたようにToShortDateString()
を使用しないでください。そのフォーマットは、地域と言語のコントロールパネルのロケールと日付フォーマットの設定に依存します。たとえば、私のPCでは、次のディレクトリ名が生成されます。
C:\Users\me\09\18\2014
代わりに、日付文字列の形式を明示的に設定してください。
New-Item -ItemType Directory -Path ".\$((Get-Date).ToString('yyyy-MM-dd'))"
短いです
$date = get-date -Format yyyy-mm-dd