使用Powershell重命名当前目录中包含文件和子目录的所有文件夹名称
我有一组文件夹,如下所示,其中有文件和子文件夹,我想重命名 所有smv2103*文件夹到smv2106*文件夹,使用Powershell保持其中的文件和子文件夹完好无损使用Powershell重命名当前目录中包含文件和子目录的所有文件夹名称,powershell,Powershell,我有一组文件夹,如下所示,其中有文件和子文件夹,我想重命名 所有smv2103*文件夹到smv2106*文件夹,使用Powershell保持其中的文件和子文件夹完好无损 E:\online\smv2103pdf E:\online\smv2103mac E:\online\smv2103frp E:\online\smv2103rep E:\online\smv2103soc E:\online\smv2103bid E:\online\smv2103rem E:\online\smv2103n
E:\online\smv2103pdf
E:\online\smv2103mac
E:\online\smv2103frp
E:\online\smv2103rep
E:\online\smv2103soc
E:\online\smv2103bid
E:\online\smv2103rem
E:\online\smv2103nop
E:\online\smv2103gac
E:\online\smv2103pam
任何帮助都将不胜感激,因为重命名项本身无法工作,因为其中包含文件和子文件夹
Get-ChildItem "E:\online\*" -Directory|
Where{ ( $_.Name -like "*2103*") } |
ForEach-Object{
((Get-Content $_.FullName -Raw) -replace "2103","2106") | Set-Content -Path $_.FullName
}
所以你只想重命名文件夹?您可以使用
Get Content
从文件中获取内容。要筛选特定条件,Get ChildItem
有一个可以使用的-filter
参数
Get ChildItem-过滤器“*2013*”
Get Content
,并将信息传输到rename Item
Get-ChildItem -Path "E:\online*" -Filter "*2013*" -Directory |
ForEach-Object {
Rename-Item -Path $_.FullName -NewName $_.Name.Replace('2013','2016')
}
什么意思
重命名项
不起作用?为什么?你能给我们看一下你的代码吗?Get-ChildItem“E:\online*”-目录{($..Name-像“2103”)}ForEach对象{((Get-Content$..FullName-Raw)-替换“2103”,“2106”)|设置内容-路径$..FullName}非常感谢你,现在有意义了,我已经过度复杂了。很有效,谢谢你的帮助