2014-09-18 611 views
7

我在写一个powershell脚本。我想知道如何创建一个以当前日期作为名称的文件夹。文件夹名称应该是“yyyy-MM-dd”(根据.NET自定义格式字符串)。在powershell中创建当前日期作为名称的文件夹

我知道,创建文件夹,我需要使用这个命令:

New-Item -ItemType directory -Path "some path" 

一个可能的解决方案(如果我要创建在同一目录下的文件夹中的脚本是:

$date = Get-Date 
$date = $date.ToString("yyyy-MM-dd") 
New-Item -ItemType directory -Path ".\$date" 

有没有办法链的命令,所以我不需要创建变量?

回答

14

是。

New-Item -ItemType Directory -Path ".\$((Get-Date).ToShortDateString())" 

或alroc建议为了获得相同的格式无论文化。

New-Item -ItemType Directory -Path ".\$((Get-Date).ToString('yyyy-MM-dd'))" 
+1

谢谢,这是我一直在寻找。解决方案中唯一的问题是短日期,因为它取决于用户的语言。请修复ToString(“yyyy-MM-dd”),以便我可以接受你的答案。 – Santhos 2014-09-18 16:22:48

+0

你不能移动吗? ;) alroc发布了一个可能适用于ya的答案。对我来说,我得到了你正在寻找的东西,并没有三思而后行。 – notjustme 2014-09-18 16:23:50

+0

我对“”和“'不确定,我想将您的问题标记为正确。 – Santhos 2014-09-18 16:29:04

9

不要使用ToShortDateString() @notjustme写道;其格式取决于区域设置和区域&语言控制面板中的日期格式设置。例如,现在我的电脑上,这将产生以下目录名称:

C:\Users\me\09\18\2014 

精确设置日期字符串的形式来代替。

New-Item -ItemType Directory -Path ".\$((Get-Date).ToString('yyyy-MM-dd'))" 
+0

我刚刚在@notjustme答案中评论了这个。 – Santhos 2014-09-18 16:24:11

0

越短

$date = get-date -Format yyyy-mm-dd

相关问题