Создание папки с текущей датой в качестве имени в powershell

Я пишу сценарий powershell. Я хотел бы знать, как создать папку с текущей датой в качестве имени. Имя папки должно быть "гггг-ММ-ДД" (в соответствии со строками пользовательского формата .NET).

Я знаю, что для создания папки нужно использовать следующую команду:

New-Item -ItemType directory -Path "some path"

возможным решением может быть (если я хочу создать папку в том же каталоге, что и скрипт:

$date = Get-Date
$date = $date.ToString("yyyy-MM-dd")
New-Item -ItemType directory -Path ".$date"

есть ли способ связать команды, поэтому мне не нужно создавать переменная?

3 ответов


да.

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

или, как предложил alroc, чтобы получить одинаковое форматирование независимо от культуры.

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

не используйте ToShortDateString() Как написал @notjustme; его форматирование зависит от локали и настроек формата даты на панели управления Regional & Language. Например, на моем ПК прямо сейчас это приведет к следующему имени каталога:

C:\Users\me14

явно установите формат строки даты вместо этого.

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

короче

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