【发布时间】:2015-11-26 14:05:24
【问题描述】:
我在将重命名与 if 条件结合使用时遇到了很大的麻烦。当文件与以前的名称相同时,PS 无法重命名,之后不会执行任何操作。 另外它无法递归重命名。
我想做某事:
$entrys = Get-ChildItem -Recurse $myPath
foreach ($name in $entrys) {
$newName=$name.FullName -replace('[\,\/\*\+\#\~\-\=\^\°\$\%\&\<\>\|]','')
if (-not ($newName -like $name)) {
Rename-Item $name -NewName $newName
}
}
我发现了类似here的东西,但那里没有任何条件。
那么我如何在重命名之前通过管道进入 if 条件,这样我就可以直接从 get-childitem -recurse 管道到if() then rename()?还是有其他可能?
感谢您的帮助
【问题讨论】:
标签: powershell recursion conditional-statements