首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用PowerShell重命名文件

用PowerShell重命名文件
EN

Stack Overflow用户
提问于 2013-08-07 04:20:50
回答 1查看 4.2K关注 0票数 1

我需要在Windows PowerShell中一次重命名一堆文件。我读了HTG的文章here,它有一点帮助。

我的问题是,它只会重命名目录顶部的文件,没有更深的内容。例如:有文件夹A,而FOLDERA是文档,文件夹B是另一个文档。两个文件夹和两个文档都需要重命名。它现在的工作方式是文件夹A,文件夹A中的文档和文件夹B被重命名,而不是文件夹B中的文档。

我目前的代码是:

代码语言:javascript
复制
Dir | Rename-Item –NewName { $_.name –replace “ “,”_” }

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-07 04:26:52

您需要在Dir上指定-Recurse参数才能使其恢复,例如:

代码语言:javascript
复制
Dir -recurse | Rename-Item -NewName {$_.Name -replace ' ','_'}

顺便说一下,这可能会遇到问题,因为您正在重命名包含文档的文件夹( FOLDERB ),但是与FOLDERB中的文件相对应的项目仍然具有旧的名称。在这种情况下,您希望从下向上重命名。一种非常粗糙但有效的方法(我认为)是对路径长度上的文件项进行排序,例如:

代码语言:javascript
复制
Dir -recurse | Sort {$_.FullName.Length} -Desc | Rename-Item {$_.Name -replace ' ','_'}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18094615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档