我想创建一个名称为当前时间的文件。 我已经在下面尝试过此代码,但无法正常工作:
$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"
答案 0 :(得分:2)
您无法创建名称为/
或:
的文件,应解析在$FileLogdate
中创建的名称,并替换/
和{{1} }与:
或.
例如,尝试将第二行更改为此:
_
答案 1 :(得分:2)
正如已经提到的,问题在于文件名中不允许使用特殊字符。
我也将使用其他日期格式,将日期格式反转,使其以年份开头:
Get-Date –format 'yyyyMMdd_HHmmss'
这样,如果有多个以此方式命名的文件,它们将在文件夹视图中按时间顺序很好地排序
答案 2 :(得分:-1)
用括号将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"