web-dev-qa-db-ja.com

PowerShellで名前として現在の日付でフォルダを作成します

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"

変数を作成する必要がないようにコマンドをチェーンする方法はありますか?

11
Santhos

はい。

New-Item -ItemType Directory -Path ".\$((Get-Date).ToShortDateString())"

または、文化に関係なく同じフォーマットを取得するためにalrocが提案したように。

New-Item -ItemType Directory -Path ".\$((Get-Date).ToString('yyyy-MM-dd'))"
22
notjustme

@notjustmeが書いたようにToShortDateString()を使用しないでください。そのフォーマットは、地域と言語のコントロールパネルのロケールと日付フォーマットの設定に依存します。たとえば、私のPCでは、次のディレクトリ名が生成されます。

C:\Users\me\09\18\2014

代わりに、日付文字列の形式を明示的に設定してください。

New-Item -ItemType Directory -Path ".\$((Get-Date).ToString('yyyy-MM-dd'))"
12
alroc

短いです

$date = get-date -Format yyyy-mm-dd

1
ps4sure