Создание папки с текущей датой в качестве имени в 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'))"