从跨越多个目录的多个文件名中删除“(1)”
removing "(1)" from multiple file names that span multiple directories
所以我重新下载了我的 google 驱动器备份,我注意到在每个文件中,无论在我的目录和/或子目录中有多深,它的名称中都有一个“(1)”,我想知道删除这个。
我已经到达 get-childitem . | foreach { rename-item $_ $_.Name.Replace(" (1)", "") }
但这仅适用于此目录,我需要更深入地了解。
提前致谢。
更新:得到“get-childitem -recurse | rename-item -newname { $_.name -replace “ (1)”, “”}”
但是它会引发错误:
rename-item :源路径和目标路径必须不同。
在 line:1 char:26
- ...lditem -recurse |重命名项目 -newname { $_.name -replace " (1)", ""}
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- CategoryInfo : WriteError: (C:\Users\Opti\D...rgs (1)\lib (1):String) [重命名项目], IOException
- FullyQualifiedErrorId : RenameItemIOError,Microsoft.PowerShell.Commands.RenameItemCommand
编辑:Get-ChildItem -Path "C:\My\Root\Path" -Filter "(1)" -Recurse | Foreach {Rename-Item -Path $.FullName -NewName $.Name.Replace('(1)','')}
^ 这对我有用
使用递归标志搜索嵌套文件夹。
Get-Childitem -Path "C:\My\Root\Path" -Recurse |
[做事]
这个怎么样?
Get-ChildItem -Path "C:\My\Root\Path" -Recurse | Foreach {Rename-Item -Path $_.FullName -NewName $_.Name.Replace('(1)','')}
所以我重新下载了我的 google 驱动器备份,我注意到在每个文件中,无论在我的目录和/或子目录中有多深,它的名称中都有一个“(1)”,我想知道删除这个。
我已经到达 get-childitem . | foreach { rename-item $_ $_.Name.Replace(" (1)", "") }
但这仅适用于此目录,我需要更深入地了解。
提前致谢。
更新:得到“get-childitem -recurse | rename-item -newname { $_.name -replace “ (1)”, “”}” 但是它会引发错误: rename-item :源路径和目标路径必须不同。 在 line:1 char:26
- ...lditem -recurse |重命名项目 -newname { $_.name -replace " (1)", ""}
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- CategoryInfo : WriteError: (C:\Users\Opti\D...rgs (1)\lib (1):String) [重命名项目], IOException
- FullyQualifiedErrorId : RenameItemIOError,Microsoft.PowerShell.Commands.RenameItemCommand
编辑:Get-ChildItem -Path "C:\My\Root\Path" -Filter "(1)" -Recurse | Foreach {Rename-Item -Path $.FullName -NewName $.Name.Replace('(1)','')} ^ 这对我有用
使用递归标志搜索嵌套文件夹。
Get-Childitem -Path "C:\My\Root\Path" -Recurse |
[做事]
这个怎么样?
Get-ChildItem -Path "C:\My\Root\Path" -Recurse | Foreach {Rename-Item -Path $_.FullName -NewName $_.Name.Replace('(1)','')}