gpt4 book ai didi

powershell - 如何在PowerShell中使用条件语句重命名文件

转载 作者:行者123 更新时间:2023-12-03 00:32:23 24 4
gpt4 key购买 nike

我试图重命名很多文件,这些文件都位于一个文件夹中,但位于不同的子文件夹中。应重命名文件,以便其名称由文件夹名+原始文件名组成。我想知道是否可以添加条件语句,以便如果文件名已包含文件夹名,则文件名不会更改。下面的代码执行重命名文件的功能,但不包含if语句。

dir -recurse | Rename-Item -NewName {$_.Directory.Name + " - " + $_.Name}

下面的代码是一个有关我如何想象代码外观的示例:
dir -recurse | if($_.Name -contains $_.Directory.Name) {Rename-Item -NewName {$_.Directory.Name + " - " + $_.Name}}

最佳答案

应该这样做:

$rootFolder = 'D:\test'
Get-ChildItem -Path $rootFolder -File -Recurse | ForEach-Object {
$folder = $_.Directory.Name
if (!($_.Name.StartsWith($folder))) { $_ | Rename-Item -NewName ('{0} - {1}' -f $folder, $_.Name) }
}

关于powershell - 如何在PowerShell中使用条件语句重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58412787/

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