【问题标题】:Rename file with back-reference and date-timestamp使用反向引用和日期时间戳重命名文件
【发布时间】:2017-08-16 13:11:06
【问题描述】:

我无法让它工作:

Get-Item 'foo.txt' | Rename-Item -NewName { $_.name -replace $_.basename, ((Get-Date -format 'yyyyMMdd.hhmm') + '-' + $1)}

输出是 20170323.0329-.txt,我想要的输出是 20170323.0329-foo.txt。我之前做过反向引用,但没有使用 rename-item,我无法让它工作。

【问题讨论】:

    标签: powershell rename backreference


    【解决方案1】:

    不需要在这里需要一个正则表达式。只需使用格式字符串

    Get-Item 'foo.txt' | Rename-Item -NewName {('{0:yyyyMMdd.hhmm}-{1}' -f (Get-Date), $_.BaseName)}
    

    【讨论】:

    • 隧道视觉.. 习惯于在我忘记的所有其他事情中使用正则表达式.. 谢谢
    • 不要使用 BaseName 而是 Name,因为他想保留扩展名 ;)
    【解决方案2】:

    去做吧

    $file="test2.txt"
    Rename-Item $file ('{0:yyyyMMdd.hhmm}-{1}' -f (Get-Date), $file)
    

    【讨论】:

      猜你喜欢
      • 2018-03-09
      • 1970-01-01
      • 2022-01-23
      • 2021-10-11
      • 2015-12-11
      • 2013-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多