У меня есть путь в строке,
"C:\temp\mybackup.zip"
Я хотел бы вставить в этот скрипт отметку времени, например,
"C:\temp\mybackup 2009-12-23.zip"
Есть ли простой способ сделать это в PowerShell?
powershell
Крис Джонс
источник
источник
get-date -f yyyy-MM-dd
заставил меня остановиться на мгновение , прежде чем понял , что это не-f
оператор , а сокращенная форма для-Format
параметра . Это выглядело как-то не к месту :-)Вот код PowerShell, который должен работать. Вы можете объединить большую часть этого в меньшее количество строк, но я хотел, чтобы это было понятно и читаемо.
[string]$filePath = "C:\tempFile.zip"; [string]$directory = [System.IO.Path]::GetDirectoryName($filePath); [string]$strippedFileName = [System.IO.Path]::GetFileNameWithoutExtension($filePath); [string]$extension = [System.IO.Path]::GetExtension($filePath); [string]$newFileName = $strippedFileName + [DateTime]::Now.ToString("yyyyMMdd-HHmmss") + $extension; [string]$newFilePath = [System.IO.Path]::Combine($directory, $newFileName); Move-Item -LiteralPath $filePath -Destination $newFilePath;
источник
Мне нужно было экспортировать наш журнал безопасности, и мне нужна была дата и время в формате всемирного координированного времени. Разобраться в этом оказалось непросто, но так просто выполнить:
wevtutil export-log security c:\users\%username%\SECURITYEVENTLOG-%computername%-$(((get-date).ToUniversalTime()).ToString("yyyyMMddTHHmmssZ")).evtx
Магический код - это как раз эта часть:
$(((get-date).ToUniversalTime()).ToString("yyyyMMddTHHmmssZ"))
источник
hh
это 12-часовое время, безtt
него бесполезно. ИспользованиеHH
даст вам 24-часовое время. Я бы порекомендовал либо,hhmmsstt
либоHHmmss
hh
наHH
выше. Я думаю, это то, чего захочет большинство людей.Спасибо за приведенный выше сценарий. Одна небольшая модификация, чтобы добавить в файл, заканчивающийся правильно. Попробуй это ...
$filenameFormat = "MyFileName" + " " + (Get-Date -Format "yyyy-MM-dd") **+ ".txt"** Rename-Item -Path "C:\temp\MyFileName.txt" -NewName $filenameFormat
источник
Использование:
$filenameFormat = "mybackup.zip" + " " + (Get-Date -Format "yyyy-MM-dd") Rename-Item -Path "C:\temp\mybackup.zip" -NewName $filenameFormat
источник
$filenameFormat = "mybackup $(Get-Date -Format "yyyy-MM-dd").zip"
поскольку это соответствует формату OP