Создать файл с отметкой даты и времени в Powershell - PullRequest
0 голосов
/ 25 февраля 2019

Я хотел бы создать файл, имя которого соответствует текущему времени.я пробовал этот код ниже, но он не работает:

$Currentpath = split-path -parent $MyInvocation.MyCommand.Definition 
$FileLogdate = Get-Date -format 'dd/MM/yyyy HH:mm:ss'
Write-Host($FileLogdate) 

New-Item -Path $Currentpath -Name "$FileLogdate" -ItemType "file"

Ответы [ 3 ]

0 голосов
/ 25 февраля 2019

Окружите ваше Get-Date круглыми скобками, например:

(Get-Date -f yyyy-MM-dd_HH-mm-ss)

Итак:

$Currentpath = split-path -parent $MyInvocation.MyCommand.Definition 
$FileLogdate = (Get-Date -f yyyy-MM-dd_HH-mm-ss)
Write-Host($FileLogdate) 
# Outputs: 2019-02-25_08-02-25

New-Item -Path $Currentpath -Name "$FileLogdate" -ItemType "file"
0 голосов
/ 25 февраля 2019

Как уже упоминалось, проблема заключается в специальных символах, которые не допускаются в именах файлов.

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

Get-Date –format 'yyyyMMdd_HHmmss'

Таким образом, если есть несколько файлов с таким именем, они будут отсортированы в хронологическом порядке в представлении папки

0 голосов
/ 25 февраля 2019

Вы не можете создать файл с / или : в его имени, вы должны проанализировать имя, которое вы создали в $FileLogdate и заменить / и : на . или _

Например, попробуйте изменить свою вторую строку следующим образом:

$FileLogdate = Get-Date -format 'dd.MM.yyyy HH_mm_ss'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...