我有一个脚本,它被设计来做三件事:
1.将主"Test"及其所有不同标题的子文件夹中的所有. webp文件转换为. jpg。
1.对于每个目录,在中创建名为"Ch1"的子目录。
1.将所有文件移至"Ch1"文件夹
该脚本目前如下所示,并且适用于只有. webp或. jpg文件的单标题文件夹:
cd D:\TestingGrounds\Test
get-childItem -recurse | Where {$_.extension -eq ".webp"} | rename-item -newname {$_.name -replace ".webp",".jpg"}
$dirs = Get-ChildItem -force D:\TestingGrounds\Test
foreach ($dir in $dirs) {mkdir D:\TestingGrounds\Test\$dir\ch_1; move D:\TestingGrounds\Test\$dir\* D:\TestingGrounds\Test\$dir\ch_1}
我现在有多章文件夹,已经有子文件夹与. webp和. jpg文件内预先制作的章节文件夹,如"ch1","ch1. 5","ch2"等。我想不出一种方法来添加一个例外或排除到这些多章文件夹,在那里他们没有接触的mkdir
和move
部分,仅所有. webp文件仍为renamed
到. jpg
我对Powershell不是很熟悉,更不用说异常命令了。我试过-notcontains,Where-Object,还有另一个指示符,比如$multi ='Ch *'被忽略。到目前为止,没有任何效果。它将继续在多章节子文件夹中创建一个"Ch1",除了原来的"Ch1",并将它们各自的文件移到其中...基本上是原始脚本所做的。附件是我正在尝试做的事情的照片。1 Before2 Desired Outcome
以下是我的一些尝试:
一个一个一个一个一个x一个一个二个一个x一个一个三个一个x一个一个x一个四个一个
1条答案
按热度按时间xuo3flqw1#
编辑以反映对问题的澄清:
这将获取给定目录中的所有.webp文件,将它们移动到Chapter文件夹(并在需要时创建它),或者如果文件在正确的位置,只需将它们重命名为.jpg。