下面的代码能够给桌面“都彭”文件夹下的所有目录文件名称增加都“都彭”两个字。
Get-ChildItem -Path F:\Desktop\都彭\ 获取这个目录下的所有文件。增加recurse参数后能够对这个目录进行递归获包含子目录的所有文件名。利用管道传递然后foreach-object进行遍历。为了避免修改文件夹名称,就检验遍历的对象是文件。$_ -is [System.IO.FileInfo] 。然后避免多次运行命令会一直增加修改的文字。所以又检查对象不包含“都彭”。在这个条件基础上对文件进行名称修改。
完整代码如下:
Get-ChildItem -Path F:\Desktop\都彭\ -Recurse|ForEach-Object{if($_ -is [System.IO.FileInfo] -and $_ -notmatch "都彭"){Rename-Item -Path $_.FullName 都彭$_}}
效果如图: