gpt4 book ai didi

powershell - 如何在 PowerShell 中重命名所有文件类型中的字符串

转载 作者:行者123 更新时间:2023-12-03 14:16:45 25 4
gpt4 key购买 nike

我有一个包含所有文件类型的文件夹,例如:

10November2017.txt
01October1986.txt
20September2000.dat
13February1992.txt

我正在使用 PowerShell 运行以下 2 个任务:

  1. 然后搜索所有带有 .txt 扩展名的文件
  2. 将所有返回的 .txt 文件重命名为“yyyyMMdd.txt”格式,例如:

    • 20171110.txt
    • 19861001.txt
    • 19920113.txt

我能够完成任务 1,但在任务 2 上有点吃力。你能帮忙吗?

提前致谢

最佳答案

使用 DateTime.ParseExact() method根据 BaseName 属性(不带扩展名的文件名)解析日期,然后将其转换回所需格式的字符串。

月份的全名使用 MMMM 说明符指定

$txtFiles = Get-ChildItem .\path\to\files -Filter *.txt
foreach($file in $txtFiles){
try{
$fileDate = [datetime]::ParseExact($file.BaseName,'ddMMMMyyyy',$null)
$file |Rename-Item -NewName ('{0:yyyyMMdd}{1}' -f $fileDate,$file.Extension)
}
catch {
Write-Warning "File base name $($file.BaseName) not recognized as valid date"
}
}

关于powershell - 如何在 PowerShell 中重命名所有文件类型中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44775083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com