根据前 2 个目录名称重命名文件
Rename files based on the previous 2 directory names
我想根据前两个目录名重命名文件。例如,下面的文件:
C:\temp8\Issue level 18 Temper inad.doc
我要重命名
288-Issue level 1-288 Temper inad.doc
我创建了以下 powershell 命令:
Get-ChildItem "C:\temp8\Issue level 1" -Filter *.doc -Recurse | Rename-Item -NewName { $_.Directory.Name+'_'+$_.Name}
但是它只重命名问题级别为 1 的文件,我希望它也包含开头的 288 文件夹。
只需使用Directory
的Parent
属性即可得到之前的目录名。另外我会使用 格式字符串 :
Get-ChildItem "C:\temp8\Issue level 1" -Filter *.doc -Recurse |
Rename-Item -NewName { '{0}-{1}-{2}' -f $_.Directory.Parent.BaseName, $_.Directory.BaseName, $_.Name }
我想根据前两个目录名重命名文件。例如,下面的文件:
C:\temp8\Issue level 18 Temper inad.doc
我要重命名
288-Issue level 1-288 Temper inad.doc
我创建了以下 powershell 命令:
Get-ChildItem "C:\temp8\Issue level 1" -Filter *.doc -Recurse | Rename-Item -NewName { $_.Directory.Name+'_'+$_.Name}
但是它只重命名问题级别为 1 的文件,我希望它也包含开头的 288 文件夹。
只需使用Directory
的Parent
属性即可得到之前的目录名。另外我会使用 格式字符串 :
Get-ChildItem "C:\temp8\Issue level 1" -Filter *.doc -Recurse |
Rename-Item -NewName { '{0}-{1}-{2}' -f $_.Directory.Parent.BaseName, $_.Directory.BaseName, $_.Name }