用增量编号重命名所有子元素

时间:2018-08-11 17:44:30

标签: powershell recursion rename

我是PowerShell的新手,我必须递归执行以下语句:

Get-ChildItem | ForEach-Object {Rename-Item $_ -NewName ("new_filename{0}.smali" -f $nr++)}

换句话说,我必须使用与当前文件不同的任何其他名称重命名子目录中的所有.smali文件(保留.smali扩展名)。

3 个答案:

答案 0 :(得分:0)

dirGet-ChildItem的别名,别名为-Recursive

答案 1 :(得分:0)

$nr = 0;    Get-ChildItem -Recurse -Filter "*.smali" | Rename-Item -NewName "new_filename$($nr++).smali"

注意事项:

DIR是Get-ChildItem的别名。 Get-ChildItem更像Powershell-y

您的命令仅查看顶级目录,因此我添加了-recurse

您的命令将重命名所有文件,而不仅仅是“ * .smali”,因此我添加了过滤器。

答案 2 :(得分:0)

Get-ChildItem -Path FolderPath -Filter * .smali -Recurse | ForEach-Object {$ _ |重命名项-NewName($ .BaseName + StringToAdd + $ .Extension)-WhatIf}

按原样复制上面的行...替换FolderPath和StringToAdd的值,然后尝试一下。如果一切正常,请通过删除-Whatif开关来执行它。