[請問] 以資料夾為名稱針對資料夾內圖片的批量壓縮方法

看板EZsoft (小軟體)作者 (方正)時間6月前 (2024/06/03 00:41), 編輯推噓3(3018)
留言21則, 4人參與, 5月前最新討論串1/2 (看更多)
目前的狀況是~主資料夾為 temp 下面有資料夾 name1 ~ namex 這些資料夾中有數量不等的圖片 結構大概像這樣~ temp ┐ ├ name1 ┬001 │ ├... │ └00x ├ name2 ┬001 │ ├... │ └00x └ namen ┬001 ├... └00x 一般來說會直接把這些資料夾用分檔壓縮壓縮成以資料夾名稱為檔名的檔案 ex. name1.zip ~ namex.zip 但是~這種情況下在解壓縮的時候會解出一堆資料夾~ 目前的希望是可以忽略資料夾名稱 把圖片檔以資料夾名稱壓縮成 zip 檔案 不知道有沒有人做過類似的處理方式~ 希望可以指點一下~m(_ _)m -- 應徵時 『老闆你好 我是國立的 』 『有消息會跟你聯絡』 『老闆你好 我是私立的 』 『有消息會跟你聯絡』 『(把奶放在桌上) 老~~~~~~~闆~~~~~~』 『Amy! 給她個私人秘書職位』 國立私立尬不過兩粒 這就是現實 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.168.166.140 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/EZsoft/M.1717346474.A.64D.html

06/03 01:57, 6月前 , 1F
bandizip倒是能自動分辨壓縮檔裡是否有第一層的資料夾
06/03 01:57, 1F

06/03 01:58, 6月前 , 2F
,是就單純解壓縮,沒有就創一個同名資料夾再把解壓縮
06/03 01:58, 2F

06/03 01:58, 6月前 , 3F
出來的資料丟進去
06/03 01:58, 3F

06/03 11:55, 6月前 , 4F
Compress-Archive -Path C:\d\* -DestinationPath d.zip
06/03 11:55, 4F

06/03 11:59, 6月前 , 5F
C:\d\* 代表的是 C:\d 下的所有項目,而不是 C:\d 本身
06/03 11:59, 5F

06/03 12:09, 6月前 , 6F
Compress-Archive是PowerShell的cmdlet,你也可以使用其他
06/03 12:09, 6F

06/03 12:09, 6月前 , 7F
其他壓縮軟體的cli,我記得7zip的cli也是用*字元配多項目
06/03 12:09, 7F

06/03 12:18, 6月前 , 8F
至於批次處理,在PowerShell中將工作目錄切到你的temp資料
06/03 12:18, 8F

06/03 12:18, 6月前 , 9F
夾之後,使用 Get-Item * 獲取所有項目,並檢查回傳的物件
06/03 12:18, 9F

06/03 12:18, 6月前 , 10F
陣列所有成員的PsIsContainer屬性,來判斷是不是資料。
06/03 12:18, 10F

06/03 12:18, 6月前 , 11F
是檔案就直接用它自身的路徑作為壓縮來源,是資料夾就則是
06/03 12:18, 11F

06/03 12:18, 6月前 , 12F
它自身的路徑\*
06/03 12:18, 12F

06/03 12:35, 6月前 , 13F
另外要注意,在PowerShell中若工作目錄路徑中含有萬用字元
06/03 12:35, 13F

06/03 12:35, 6月前 , 14F
也就是方括號,並使用相對路徑時會導致cmdlet錯誤,所以這
06/03 12:35, 14F

06/03 12:35, 6月前 , 15F
時你不能用 Get-Item *,而是要用以下方式獲取所有項目
06/03 12:35, 15F

06/03 12:35, 6月前 , 16F
Get-Item "$($PWD.Path)\*"
06/03 12:35, 16F

06/03 12:38, 6月前 , 17F
上面錯了,還要先對$PWD.Path做跳脫處理,晚點上完整腳本
06/03 12:38, 17F

06/05 12:58, 6月前 , 18F
選取「數個」資料夾用winrar製作壓縮檔,格式zip,檔案頁
06/05 12:58, 18F

06/05 12:58, 6月前 , 19F
籤選擇「不要儲存路徑」,再勾選「一個檔案建立一個壓縮
06/05 12:58, 19F

06/05 12:58, 6月前 , 20F
檔」
06/05 12:58, 20F

07/01 18:55, 5月前 , 21F
#1Q82f4CB 就有了
07/01 18:55, 21F
文章代碼(AID): #1cNA2gPD (EZsoft)
文章代碼(AID): #1cNA2gPD (EZsoft)