【问题标题】:Create folder with current date as name in powershell在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"

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

【问题讨论】:

    标签: date powershell directory


    【解决方案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 的文件夹

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-18
        • 2011-04-27
        • 1970-01-01
        • 2017-03-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多