Powershell 在不更改文件结尾的情况下用父文件夹名称替换文件名

Powershell replacing filenames with parent folder name without changing file endings

我有一个父文件夹,其中包含 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

提前谢谢。

dir C:\temp\folder\ -directory | % {dir $_.fullname | % {ren $_.fullname $((split-path (split-path $_.fullname) -leaf) + '_' + $_.name)}}