【问题标题】:Powershell replacing filenames with parent folder name without changing file endingsPowershell用父文件夹名称替换文件名而不更改文件结尾
【发布时间】:2016-05-07 16:00:36
【问题描述】:

我有一个父文件夹,其中包含 1000 多个 1 级嵌套文件夹和每个文件夹内的数千个文本文件:

Parent folder ==> Folder1 ==> File1.txt
Parent folder ==> Folder1 ==> File2.txt
Parent folder ==> Folder1 ==> File3.txt
Parent folder ==> Folder2 ==> File1.txt
Parent folder ==> Folder2 ==> File2.txt
Parent folder ==> Folder2 ==> File3.txt
Parent folder ==> Folder3 ==> File1.txt
Parent folder ==> Folder3 ==> File2.txt
Parent folder ==> Folder3 ==> File3.txt

我需要能够使用 PowerShell 重命名文件,如下所示:

Parent folder ==> Folder1 ==> Folder1_File1.txt
Parent folder ==> Folder1 ==> Folder1_File2.txt
Parent folder ==> Folder1 ==> Folder1_File3.txt
Parent folder ==> Folder2 ==> Folder2_File1.txt
Parent folder ==> Folder2 ==> Folder2_File2.txt
Parent folder ==> Folder2 ==> Folder2_File3.txt
Parent folder ==> Folder3 ==> Folder3_File1.txt
Parent folder ==> Folder3 ==> Folder3_File2.txt
Parent folder ==> Folder3 ==> Folder3_File3.txt

有没有办法在 PowerShell、Windows Server 2012 中做到这一点

提前谢谢你。

【问题讨论】:

    标签: file powershell rename windows-server-2012


    【解决方案1】:
    dir C:\temp\folder\ -directory | % {dir $_.fullname | % {ren $_.fullname $((split-path (split-path $_.fullname) -leaf) + '_' + $_.name)}}
    

    【讨论】:

    • 非常感谢 Anthony 的快速回复,我是否需要进行任何循环,或者这是否适用于父文件夹下的所有文件夹和文件?
    • 我刚刚添加了-directory。这将适用于直接在“文件夹”内的文件夹。创建您的示例文件夹结构以对其进行测试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 2012-05-25
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    • 2018-08-21
    相关资源
    最近更新 更多