gpt4 book ai didi

windows - 递归检查文件并在特定文件类型存在时执行压缩

转载 作者:可可西里 更新时间:2023-11-01 10:35:19 25 4
gpt4 key购买 nike

我的问题陈述:

Main Folder
-SubFolder1
--1.jpg
--2.jpg
-SUbFolder2
--Subsubfolder
---1.jpg
---2.jpg

我有这个包含子目录的主文件夹,在最后一个子目录中,有图像。

现在,我想要实现的是

  1. 递归检查图像文件是否存在于子目录中
  2. 如果是,将所有图像文件压缩到该子目录中,并根据各自的子目录名称命名它们。

我有这个命令来实现:

"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 的大量问题,但它们没有任何帮助。无论我做了什么实验,都与我想要实现的目标相去甚远。

最佳答案

如果您使用 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"
}

关于windows - 递归检查文件并在特定文件类型存在时执行压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30964240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com