说我有一个像这样的文件名列表:
some-file.ts
my-project-service.ts
other.ts
something-my-project.ts
我需要更改其中包含my-project
的文件名,才能将该部分重命名为$appname$
。
因此my-project-service.ts
将成为$appname$-service.ts
我需要从根目录递归执行此操作。
我似乎对PowerShell毫无希望,所以我想我会问这里是否有人可以帮助我。
答案 0 :(得分:3)
将Get-ChildItem
cmdlet与-recurse
开关一起使用,从根目录中递归获取所有项目。使用my-project
cmdlet过滤包含Where-Object
的所有项目,最后使用Rename-Item
cmdlet重命名它们:
Get-ChildItem "D:\tmp" -Recurse |
Where {$_.Name -Match 'my-project'} |
Rename-Item -NewName {$_.name -replace 'my-project','$appname$' }