我的问题陈述:
Main Folder
-SubFolder1
--1.jpg
--2.jpg
-SUbFolder2
--Subsubfolder
---1.jpg
---2.jpg
我有这个包含子目录的主文件夹,在最后一个子目录中有图像。
现在,我希望实现的是
我有这个命令来实现这个目标:
"C:\Program Files\PeaZip\res\7z\7z.exe" a -tzip -mm=Deflate -mmt=on -mx5 -mfb=32 -mpass=1 -sccUTF-8 -mem=AES256 "-wC:\exp\" "C:\exp\subdirname.zip" "C:\exp\*.jpg"
现在我真正的问题是,我不知道如何将所有这些拼凑在一起。阅读有关stackoverflow的大量问题,但它们没有任何帮助。 无论我做了什么实验,都与我希望达到的目标完全无关。
答案 0 :(得分:1)
如果使用Get-ChildItem cmdlet检索所有图像,则可以按目录对其进行分组,并获取所需的所有信息:
$root = 'c:'
$7zipPath = "C:\Program Files\PeaZip\res\7z\7z.exe"
Get-ChildItem $root -recurse -Filter '*.jpg' | group Directory | select -expand name | foreach {
$directoryName = get-item $_ | select -expand name
$directoryPath = $_
&$7zipPath a -tzip -mm=Deflate -mmt=on -mx5 -mfb=32 -mpass=1 -sccUTF-8 -mem=AES256 "-wC:\exp\" "C:\exp\$directoryName.zip" "$directoryPath\*.jpg"
}