【问题标题】:powershell rename all files in a folder to a patternpowershell 将文件夹中的所有文件重命名为模式
【发布时间】:2016-09-01 21:06:50
【问题描述】:

我对 powershell 很陌生。我有一个包含多个文件的文件夹,每个文件名如下:

File1_backup_2016_09_01_095444_1628350.bak

需要全部重命名为 Filex_yyyymmdd.bak

【问题讨论】:

标签: powershell


【解决方案1】:

类似的东西应该适合你:

Get-ChildItem "C:\temp" |foreach {
    $SplitName = $_.Name -split '_'
    Rename-Item $_.FullName -NewName "$($SplitName[0])_$($SplitName[2])$($SplitName[3])$($SplitNa‌​me[4]).bak"
}

【讨论】:

  • 它说:重命名项目:无法重命名,因为“AIB_backup_2016_09_01_095444_1628350.bak”中的项目不存在。 (我已经更改了路径以更正一个并且 get-childitem 工作,还测试了拆分参数并且可以看到不同的数据部分)
  • 我更改了示例,它现在应该可以工作了。需要在重命名命令中使用 $_.FullName insetad $_
  • 运行但我需要这样的东西,File1_20160901.bak,File1 是原始文件名中第一个 _ 之前的部分。
  • 然后:Rename-Item $_.FullName -NewName "$($SplitName[0])_$($SplitName[2])$($SplitName[3])$($SplitName[4]).bak"。你明白这个命令在做什么吗?
  • 谢谢,现在我明白了。你能更新你的答案吗?
猜你喜欢
  • 2013-04-24
  • 1970-01-01
  • 2016-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多