在PowerShell中创建以当前日期为名称的文件夹
Posted
技术标签:
【中文标题】在PowerShell中创建以当前日期为名称的文件夹【英文标题】:Create folder with current date as name in powershell 【发布时间】:2014-11-13 02:05:57 【问题描述】:我正在编写一个 powershell 脚本。我想知道如何创建一个以当前日期为名称的文件夹。文件夹名称应为“yyyy-MM-dd”(根据 .NET 自定义格式字符串)。
我知道要创建文件夹我需要使用这个命令:
New-Item -ItemType directory -Path "some path"
可能的解决方案是(如果我想在与脚本相同的目录中创建文件夹:
$date = Get-Date
$date = $date.ToString("yyyy-MM-dd")
New-Item -ItemType directory -Path ".\$date"
有没有办法链接命令,所以我不需要创建变量?
【问题讨论】:
【参考方案1】:是的。
New-Item -ItemType Directory -Path ".\$((Get-Date).ToShortDateString())"
或者按照 alroc 的建议,无论文化如何,都可以获得相同的格式。
New-Item -ItemType Directory -Path ".\$((Get-Date).ToString('yyyy-MM-dd'))"
【讨论】:
谢谢,这就是我要找的。您的解决方案中唯一的问题是短日期,因为它取决于用户的语言。请将其修复为 ToString("yyyy-MM-dd") 以便我接受您的回答。 你不能动吗? ;) alroc 发布了一个可能对你有用的答案。对我来说,我得到了您正在寻找的东西,并且没有三思而后行。 我不确定“”和“”,我想将您的问题标记为正确。 我发现你也可以像这样直接从get-date获取字符串:Get-Date -Format "yyyy-MM-dd"【参考方案2】:不要像@notjustme 写的那样使用ToShortDateString()
;它的格式取决于区域设置和您在区域和语言控制面板中的日期格式设置。例如,现在在我的 PC 上,这将产生以下目录名称:
C:\Users\me\09\18\2014
改为显式设置日期字符串的格式。
New-Item -ItemType Directory -Path ".\$((Get-Date).ToString('yyyy-MM-dd'))"
【讨论】:
我刚刚在@notjustme answer上评论了这个。【参考方案3】:较短的方法是
$date = get-date -Format yyyy-MM-dd
【讨论】:
需要-Format yyyy-MM-dd
。 mm 是分钟而不是月。【参考方案4】:
$datecurrent = get-date -Format dd-MM-yy
New-Item -ItemType directory -Path ".\$datecurrent"
【讨论】:
【参考方案5】:$folderName = (Get-Date).tostring("dd-MM-yyyy-hh-mm-ss")
New-Item -ItemType Directory -Path "E:\parent" -Name $FolderName
它正在 E:\parent 下创建名称为 11-06-2020-07-29-41 的文件夹
【讨论】:
以上是关于在PowerShell中创建以当前日期为名称的文件夹的主要内容,如果未能解决你的问题,请参考以下文章