我一般来说对脚本和Shell完全陌生,但是我想使它自动化,因为这将花费我很长时间。 我有一个包含37个文件夹的文件夹,在这37个文件夹中,有不同数量的子目录,分别是10、12等。在这些子目录中,图像中的图像变为0到n个图像。子目录。
所以我的文件夹是这样的:
G(Main Folder) > G1, G2...G37
例如在G1中:
G1 > G'1,G'2,G'3...
这对于G中的每个G-n文件夹而言。
我想根据当前所在位置的Gn文件夹重命名G'n文件夹中的所有图像。例如:在G1中,有8个文件夹(G'1,G'2等),在第一个中,有10张图像,所以我想将它们全部从00重命名为10,然后在第二个,有18张图像,所以从11开始,我想将它们从11重命名为18,依此类推。然后将所有这些图像移动到G1文件夹。
所有这些也适用于其余的37 G文件夹及其300左右的子目录。 谢谢!
答案 0 :(得分:0)
我创建了一些测试文件夹和文件,这对我有用。运行此脚本时,请确保您创建了一个测试文件夹/备份。
$folderInMainFolder = ls "D:\G"
$n = 0
$i = 0
foreach($folder in $folderInMainFolder){
$items = ls $folder.FullName
foreach($item in $items)
{
Rename-Item $item.FullName -NewName "$n$i.jpg" -Force
$i++
if($i -eq 10)
{
$i = 0
$n++
}
}
}
#Move all the files to the directory G1
Get-ChildItem "D:\G" -Filter *.jpg -Exclude "D:\G\G1" -Recurse | Move-Item -Destination "D:\G\G1" -Force