将 (Get-Date) 转换为文本,以便在 Powershell 中将其用于文件名
Convert (Get-Date) into Text, to use it for Filenames in Powershell
大家好,我乐于助人的朋友们,
我有一个问题(又)...是的。
我想设置一个修复日期(在我的脚本开头)并在不同的文件夹和 csv 文件名中使用这个修复日期。
$Date = '{0:yyyyMMdd_hh:mm:ss}' -f (Get-Date)
Write-Host "The script was started $Date"
=CODE=
#Version 1
$fileOut = Join-Path -Path $path -ChildPath ("$Date.csv")
$csv| Export-Csv -Path $fileOut -Delimiter ";" -NoTypeInformation
#Result: No csv-file is written
让我生气的部分是,如果我说 $date = "TEXT" 它有效...
$Date = "TEXT"
Write-Host "The script was started $Date"
$fileOut = Join-Path -Path $tsvEingang -ChildPath ("$Date.csv")
$MosaicSummary | Export-Csv -Path $fileOut -Delimiter "`t" -NoTypeInformation
#Result: The writtens csv-file-name is TEXT.csv
那么如何将日期转换为可用的文本?!
您通常做的是从日期时间中删除所有不是数字的内容。
$Date = '{0:yyyyMMddhhmmss}' -f (Get-Date)
那会给你这样的东西:
20200806024229
这是有效的 filename/foldername。不允许在文件名中使用 :(冒号)。
不过,破折号在文件名中是完全可以接受的,所以如果您需要某种分隔符,请尝试这样的操作:
$Date = '{0:yyyy-MM-dd-hhmmss}' -f (Get-Date)
大家好,我乐于助人的朋友们,
我有一个问题(又)...是的。
我想设置一个修复日期(在我的脚本开头)并在不同的文件夹和 csv 文件名中使用这个修复日期。
$Date = '{0:yyyyMMdd_hh:mm:ss}' -f (Get-Date)
Write-Host "The script was started $Date"
=CODE=
#Version 1
$fileOut = Join-Path -Path $path -ChildPath ("$Date.csv")
$csv| Export-Csv -Path $fileOut -Delimiter ";" -NoTypeInformation
#Result: No csv-file is written
让我生气的部分是,如果我说 $date = "TEXT" 它有效...
$Date = "TEXT"
Write-Host "The script was started $Date"
$fileOut = Join-Path -Path $tsvEingang -ChildPath ("$Date.csv")
$MosaicSummary | Export-Csv -Path $fileOut -Delimiter "`t" -NoTypeInformation
#Result: The writtens csv-file-name is TEXT.csv
那么如何将日期转换为可用的文本?!
您通常做的是从日期时间中删除所有不是数字的内容。
$Date = '{0:yyyyMMddhhmmss}' -f (Get-Date)
那会给你这样的东西:
20200806024229
这是有效的 filename/foldername。不允许在文件名中使用 :(冒号)。
不过,破折号在文件名中是完全可以接受的,所以如果您需要某种分隔符,请尝试这样的操作:
$Date = '{0:yyyy-MM-dd-hhmmss}' -f (Get-Date)