→ lanstype: bandizip倒是能自動分辨壓縮檔裡是否有第一層的資料夾 06/03 01:57
→ lanstype: ,是就單純解壓縮,沒有就創一個同名資料夾再把解壓縮 06/03 01:58
→ lanstype: 出來的資料丟進去 06/03 01:58
推 falcon: Compress-Archive -Path C:\d\* -DestinationPath d.zip 06/03 11:55
→ falcon: C:\d\* 代表的是 C:\d 下的所有項目,而不是 C:\d 本身 06/03 11:59
→ falcon: Compress-Archive是PowerShell的cmdlet,你也可以使用其他 06/03 12:09
→ falcon: 其他壓縮軟體的cli,我記得7zip的cli也是用*字元配多項目 06/03 12:09
→ falcon: 至於批次處理,在PowerShell中將工作目錄切到你的temp資料 06/03 12:18
→ falcon: 夾之後,使用 Get-Item * 獲取所有項目,並檢查回傳的物件 06/03 12:18
→ falcon: 陣列所有成員的PsIsContainer屬性,來判斷是不是資料。 06/03 12:18
→ falcon: 是檔案就直接用它自身的路徑作為壓縮來源,是資料夾就則是 06/03 12:18
→ falcon: 它自身的路徑\* 06/03 12:18
→ falcon: 另外要注意,在PowerShell中若工作目錄路徑中含有萬用字元 06/03 12:35
→ falcon: 也就是方括號,並使用相對路徑時會導致cmdlet錯誤,所以這 06/03 12:35
→ falcon: 時你不能用 Get-Item *,而是要用以下方式獲取所有項目 06/03 12:35
→ falcon: Get-Item "$($PWD.Path)\*" 06/03 12:35
→ falcon: 上面錯了,還要先對$PWD.Path做跳脫處理,晚點上完整腳本 06/03 12:38
推 ja20331: 選取「數個」資料夾用winrar製作壓縮檔,格式zip,檔案頁 06/05 12:58
→ ja20331: 籤選擇「不要儲存路徑」,再勾選「一個檔案建立一個壓縮 06/05 12:58
→ ja20331: 檔」 06/05 12:58