将建议重命名为目录标题的末尾

Rename Proposition to end of directory title

我必须更改大约 600 个目录的名称以符合业务命名标准,事实证明这相当复杂。

我将以音乐目录格式呈现问题,因为这样更容易解释和关联。

如果我想重命名我所有的音乐目录,它会在结尾而不是开头显示介词

Original

The Beatles

Desired Output

Beatles ,The

我有以下目录作为例子

Mode                LastWriteTime     Length Name                              
----                -------------     ------ ----                              
d----        28/08/2016   3:51 PM            Alabama Shakes                    
d----        28/08/2016   3:51 PM            Cat Stevens                       
d----        28/08/2016   3:41 PM            The Beatles                       
d----        28/08/2016   3:42 PM            The Brian Jonestown Massacre      
d----        28/08/2016   3:42 PM            The Rolling Stones                
d----        28/08/2016   3:43 PM            Them                              
d----        28/08/2016   3:43 PM            Them Rotten Vultures              
d----        28/08/2016   3:42 PM            Van Morrison

我已经设法写了一些东西来过滤结果,只剩下我想重命名的那些

Get-ChildItem -Filter "THE *"

但是我不知道如何使用逻辑来重命名它们。我确定它将是递归的,并且它将使用 Rename-Item 函数。

但是我尝试了以下

Get-ChildItem -Filter "The *" -Recurse | 
    Rename-Item -NewName { $_.name -replace 'The ','' } | 
    Rename-Item -NewName { $_.name + " ,The" }

得到如下结果

Mode                LastWriteTime     Length Name                              
----                -------------     ------ ----                              
d----        28/08/2016   3:51 PM            Alabama Shakes                    
d----        28/08/2016   3:41 PM            Beatles                           
d----        28/08/2016   3:42 PM            Brian Jonestown Massacre          
d----        28/08/2016   3:51 PM            Cat Stevens                       
d----        28/08/2016   3:42 PM            Rolling Stones                    
d----        28/08/2016   3:43 PM            Them                              
d----        28/08/2016   3:43 PM            Them Rotten Vultures              
d----        28/08/2016   3:42 PM            Van Morrison                      

如有任何帮助,我们将不胜感激

相关问题 child 项也会检测文件吗?因为只有目录需要重命名

设法使用以下代码对其进行排序 它只修改目录,不修改目录中包含的文件。

Get-ChildItem -Filter "The *" -Directory|
    ?{ $_.PSIsContainer } | 
    Rename-Item -NewName { $_.name + " ,The" }


Get-ChildItem -Filter "The *" -Directory|
    ?{ $_.PSIsContainer } | 
    Rename-Item -NewName { $_.name -replace 'The ','' }