【问题标题】:how to convert function to work recursively如何将函数转换为递归工作
【发布时间】:2013-04-03 21:32:20
【问题描述】:

我有一个很棒的 powershell 脚本,可以从文件名中删除特殊字符:

Function Rename-Files($path)
{
 Get-ChildItem -path $path | 
 Foreach-Object { 
      $newName = $_.name -replace '[^A-Za-z0-9-_ ]', ''
      if (-not ($_.name -eq $newname)){
        Rename-Item -Path $_.fullname -newname ($newName) 
      } 
 }
} #end function

Rename-Files -path "C:\somepath"

我想知道是否有可能让它不仅在顶级目录上工作,而且通过整个目录结构递归地工作?

【问题讨论】:

    标签: powershell


    【解决方案1】:

    只需添加-Recurse Get-ChildItem 参数即可。例如

    Get-ChildItem -Recurse -path $path
    

    【讨论】:

    • 谢谢!这行得通。但是我怎样才能让它不碰时期,时期是有效的!
    • 这是您从other question you asked 获得的正则表达式字符类的问题。顺便说一句,您没有将其列为要求。
    猜你喜欢
    • 2019-04-24
    • 2016-01-06
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多