将文件夹名称放入文件名中的子文件夹名称中

将文件夹名称放入文件名中的子文件夹名称中

有没有办法将文件夹名称也放在文件名中?像这样:

Folder1\SubFolder1

FileName1.abc

Filename2.abc

Subfolder2

Filename1.abc

filename2.abc

结果:

-Folder1_SubFolder1_Filename1.abc

-Folder1_SubFolder1_Filename2.abc

-Folder2_SubFolder1_Filename1.abc

-Folder2_SubFolder1_Filename2.abc

通过此代码我只能获得文件名中的子目录。

get-childitem -Path 'D:\Temp' -recurse | Where-Object {$.Psiscontainer -eq $false} | Rename-Item -NewName {$.Directory.Name + "" + $.Name}

请告诉我。

答案1

Directory属性还具有一个Parent属性。您可以像这样使用它:

Get-ChildItem 'D:\Temp' -File -Recurse | Rename-Item -NewName { $_.Directory.Parent, $_.Directory.Name, $_.Name -join '_' }

此命令只是获取文件夹及其子文件夹中的所有文件,然后继续将文件重命名为父目录名称、目录名称和文件名,并将它们连接在一起_

相关内容