首页 > 解决方案 > 批量重命名多个文件夹中的所有文件

问题描述

:)

假设在文件路径 C:\Users\CurrentUser\Documents\Records 中有几个文件夹。

我想通过在当前文件名前面添加它们各自的文件夹名称来重命名所有文件夹中的所有文件。

例如,文件夹 1 和文件夹 2 存在于 C:\Users\CurrentUser\Documents\Records 中。文件夹 1 中的所有文件都应重命名,并在前面添加“文件夹 1”。并且文件夹 2 中的所有文件都应重命名,并在前面添加“文件夹 2”。因此,类似于文件夹 1 中的文件“发票”被重命名为“文件夹 1 发票”。与文件夹 2 相同。

有没有办法在 Powershell 中做到这一点?任何帮助深表感谢!:)

标签: windowspowershell

解决方案


我认为应该这样做:

(Get-ChildItem -Path 'C:\Users\CurrentUser\Documents\Records' -File -Recurse) | 
 Rename-Item -NewName {'{0} {1}' -f $_.Directory.Name, $_.Name} -WhatIf

-WhatIf开关是一种预防措施。添加后,代码将仅在控制台中显示发生什么。如果您对此感到满意,请移除-Whatif开关以实际开始重命名文件。


推荐阅读