目录结构如下:
D:\folder0\subdir1\scan0001.tif
D:\folder0\subdir2\scan0001.tif
D:\folder0\subdir3\scan0001.tif
D:\folder0\subdir1\RAW\raw0001.tif
D:\folder0\subdir2\RAW\raw0001.tif
D:\folder0\subdir3\RAW\raw0001.tif
目前 RAW 目录中的文件名称如下
raw0001.tif
raw0002.tif
raw0003.tif
我想将它们重命名为
subdir1 raw 01.tif
subdir1 raw 02.tif
subdir1 raw 03.tif
我找到了如何subdir#
通过执行重命名文件
ls *tif |
Foreach {$i=1} {Rename-Item $_ -NewName ("$($_.directory.name) scan {0:0#}.tif" -f $i++)}
但是我不知道如何修改上述命令来查看祖父目录(subdir1
)。
答案1
这将解析文件名并使用现有的基本名称和索引:
gci *.tif | Rename-Item -NewName {
$_.Name -match '([^\d]+)(\d+)' | out-null
$splat = @(
$_.directory.parent.name,
$matches[1],
[Int]$matches[2]
)
'{0} {1} {2:00}.tif' -f $splat
}