Zippa många filer samtidigt separat?

Permalänk
Medlem

Zippa många filer samtidigt separat?

Säg jag har 100 filer jag vill packa ner till zip format, varje fil ska vara separat

Kan man välja alla 100 att filerna ska zippas separat, eller måste man ta varje fil för sig och en i taget?

Permalänk
Hedersmedlem

Bör gå att lösa med PowerShell.

Testa detta:

1. Lägg alla filerna du vill komprimera i en katalog som heter C:\A
2. Skapa en tom katalog C:\B där ZIP-filerna ska hamna.
3. Kör detta i Powershell:

Get-ChildItem C:\A | Foreach-Object { Compress-Archive -LiteralPath $_.FullName -DestinationPath "C:\B\$($_.Name).zip" }

Permalänk
Medlem
Skrivet av pv2b:

Bör gå att lösa med PowerShell.

Testa detta:

1. Lägg alla filerna du vill komprimera i en katalog som heter C:\A
2. Skapa en tom katalog C:\B där ZIP-filerna ska hamna.
3. Kör detta i Powershell:

Get-ChildItem C:\A | Foreach-Object { Compress-Archive -LiteralPath $_.FullName -DestinationPath "C:\B\$($_.Name).zip" }

Ska jag skriva det i dos fönstret då?

Permalänk
Medlem
Skrivet av Ozeroun:

Ska jag skriva det i dos fönstret då?

Öppna Powershell och klistra in kodraden

Visa signatur

NZXT H510 Flow MSI B450 Tomahawk MAX
AMD Ryzen 5800X3D RX 7900XTX Kingston Fury 64GB

Permalänk
Hedersmedlem
Skrivet av Ozeroun:

Ska jag skriva det i dos fönstret då?

Powershell är inte DOS. Powershell är Powershell. Du kommer dit genom att söka på powershell i startmenyn.

Permalänk
Livsnjutare 😎

Jag skulle göra det som ett Batch-script då jag INTE är en fena på powershell.

Har gjort samma sak för att packa upp filer så borde bara gå att vända processen 👍🏼

Återkommer

Visa signatur

Citera eller Svara för respons! •
• Life is a playground {|;^) •

Permalänk
Medlem
Skrivet av pv2b:

Powershell är inte DOS. Powershell är Powershell. Du kommer dit genom att söka på powershell i startmenyn.

När jag gått in på cmd, har jag alltid kallat det dos

Permalänk
Medlem
Skrivet av andreas_dock:

Jag skulle göra det som ett Batch-script då jag INTE är en fena på powershell.

Har gjort samma sak för att packa upp filer så borde bara gå att vända processen 👍🏼

Återkommer

Powershell känns lite för överkurs för mig, konstigt den funktionen inte finns på zip program

Permalänk
Hedersmedlem
Skrivet av Ozeroun:

När jag gått in på cmd, har jag alltid kallat det dos

cmd är inte Powershell heller, cmd är cmd och powershell är powershell

Allt du behöver göra är att lägga filerna i mapparna jag skrev i mitt första inlägg och sedan köra koden i powershell.

Men vill du krångla till det så absolut... jag lägger mig inte i!

Permalänk
Livsnjutare 😎

Kräver att man har en exekverbar för att skapa zip-filer. (jag använder 7z i detta fall)

Spara denna kod som en .bat fil i mappen där du har filer du vill zippa.
Lägg även med den exekverbara filen som skall utföra åtgärden.

Kör sedan .bat filen

dir /B *.txt > c:\temp\files_to_zip.txt set LISTFILE=c:\temp\files_to_zip.txt for /f %%a in (%LISTFILE%) do ( 7z a %%a.zip -tzip %%a )

7z nedladdning;
https://www.7-zip.org/download.html
(det räcker med 7z.exe)

Visa signatur

Citera eller Svara för respons! •
• Life is a playground {|;^) •

Permalänk
Hedersmedlem
Skrivet av andreas_dock:

Kräver att man har en exekverbar för att skapa zip-filer. (jag använder 7z i detta fall)

Spara denna kod som en .bat fil i mappen där du har filer du vill zippa.
Lägg även med den exekverbara filen som skall utföra åtgärden.

Kör sedan .bat filen

dir /B *.txt > c:\temp\files_to_zip.txt set LISTFILE=c:\temp\files_to_zip.txt for /f %%a in (%LISTFILE%) do ( 7z a %%a.zip -tzip %%a )

https://youtu.be/76bttzll7uI

7z nedladdning;
https://www.7-zip.org/download.html
(det räcker med 7z.exe)

Ja det var inte direkt enklare än min lösning men det funkar säkert det med.

Powershell kan skapa ZIP-filer utan några externa program

Permalänk
Livsnjutare 😎
Skrivet av pv2b:

Ja det var inte direkt enklare än min lösning men det funkar säkert det med.

Powershell kan skapa ZIP-filer utan några externa program

Hehe, jag kände samma sak när jag gjorde denna lösning - men eftersom jag redan har (och använder) liknande lösning, men för att då packa upp filer - så vände jag bara på det.

Jag är ju en gammal räv och på min tid fanns inte stöd för .zip eller andra arkiv med i operativet per default.

Visa signatur

Citera eller Svara för respons! •
• Life is a playground {|;^) •

Permalänk
Medlem
Skrivet av Ozeroun:

När jag gått in på cmd, har jag alltid kallat det dos

DOS (mer specifikt MS-DOS) är ett operativsystem vars senaste version var Windows ME som släpptes 2000.

DOS finns säkert kvar i något OS i botten, men tex dagens windows bygger numera på NT-Kerneln

Det generiska uttycket du letar efter är väl kanske i så fall "Kommandotolk", "prompt" eller "terminal"

Skrivet av Ozeroun:

Powershell känns lite för överkurs för mig, konstigt den funktionen inte finns på zip program

Vet inte om det är så konstigt att ett edge-case inte finns inbyggt. Varför vill du zippa alla filer individuellt?

Visa signatur

CPU: Ryzen 9 3900x Noctua NH-D14 MOBO: TUF Gaming X570-PLUS GPU: GTX 980 RAM: 32 GB 3200 MHz Chassi: R4 PSU: Corsair AX860 Hörlurar: SteelSeries 840 Mus: Logitech G502 Lightspeed V.v. nämn eller citera mig för att få svar.

Permalänk
Medlem
Skrivet av Ozeroun:

Powershell känns lite för överkurs för mig, konstigt den funktionen inte finns på zip program

Denna funktion finns inbyggd i winrar: "Put each file to separate archive" option on "Files" page of archiving dialog.

Visa signatur

.

Permalänk
Medlem

gzip gör det automagiskt utan krusiduller fil för fil, och med '-r' kan göra det rekursivt ned i filträd

gzip kan å andra sidan inte bygga arkiv på samma sätt som zip gör default, utan vid arkivering kör man oftast 'tar' som bygger arkivet och sedans gzippas i en pipeline efter tar och kan göras direkt i kommandot 'tar' med flaggor.

- men nu ville du ha just 'zip' och den kommer från DOS-världen och då tänkte man inte på sådana saker.

Permalänk
Medlem
Skrivet av andreas_dock:

Kräver att man har en exekverbar för att skapa zip-filer. (jag använder 7z i detta fall)

Spara denna kod som en .bat fil i mappen där du har filer du vill zippa.
Lägg även med den exekverbara filen som skall utföra åtgärden.

Kör sedan .bat filen

dir /B *.txt > c:\temp\files_to_zip.txt set LISTFILE=c:\temp\files_to_zip.txt for /f %%a in (%LISTFILE%) do ( 7z a %%a.zip -tzip %%a )

https://youtu.be/76bttzll7uI

7z nedladdning;
https://www.7-zip.org/download.html
(det räcker med 7z.exe)

Tack, får försöka på mig det

Permalänk
Medlem
Skrivet av xxargs:

gzip gör det automagiskt utan krusiduller fil för fil, och med '-r' kan göra det rekursivt ned i filträd

gzip kan å andra sidan inte bygga arkiv på samma sätt som zip gör default, utan vid arkivering kör man oftast 'tar' som bygger arkivet och sedans gzippas i en pipeline efter tar och kan göras direkt i kommandot 'tar' med flaggor.

- men nu ville du ha just 'zip' och den kommer från DOS-världen och då tänkte man inte på sådana saker.

Tack för rekommendationen, ja i det här syftet kan det bara vara i zip

Permalänk
Medlem
Skrivet av fragwolf:

Denna funktion finns inbyggd i winrar: "Put each file to separate archive" option on "Files" page of archiving dialog.

Ja där fanns det jag ville ha, tack

Add > Files > Put each file to separate archive

Permalänk
Medlem

Windows 10 kommer med tar, så du kan köra detta i "DOS".

FOR %F IN (*) DO @tar caf %~nF.zip %F

Visa signatur

AMD Ryzen 7 5800X | 32 GB Corsair Vengeance 3200 MHz | ASUS TUF Geforce RTX 3080

Permalänk
Medlem

Tack för förslag, funktionen jag vill ha finns i winrar och fungerar bra för mig