jeder ordner eine rar datei ?

Testoron

Banned
Registriert
Mai 2004
Beiträge
749
hi

hab in einem ordner 50 ordner jeder dieser ordner soll ein rar werden mit dem selben namen wie der ordner.

irgendwie pack ich das nicht :rolleyes:

welches tool kann das ? winrar wohl nicht und auch nicht totalcommander
 
Zuletzt bearbeitet:
50 mal zu Dateiname hinzufügen... für ne einmalige aktion würde ich hier nicht lange nach nem Programm suchen das dauert vieleicht 5-10 min
 
Wie wär's mit einer FOR-Schleife?

So grob, für die Eingabeaufforderung:

FOR %a in (Ordner) do rar.exe %a
 
diese aufgabe werde ich jetzt öffter machen da ich eine neue seite betreibe und ordner packen muss.

Code:
D:\_4>FOR %a in (Ordner) do rar.exe %a

D:\_4>rar.exe Ordner

RAR 3.90   Copyright (c) 1993-2009 Alexander Roshal   16 Aug 2009
Shareware version         Type RAR -? for help

Usage:     rar <command> -<switch 1> -<switch N> <archive> <files...>
               <@listfiles...> <path_to_extract\>

<Commands>
  a             Add files to archive
  c             Add archive comment
  cf            Add files comment
  ch            Change archive parameters
  cw            Write archive comment to file
  d             Delete files from archive
  e             Extract files to current directory
  f             Freshen files in archive
  i[par]=<str>  Find string in archives
  k             Lock archive
  l[t,b]        List archive [technical, bare]
  m[f]          Move to archive [files only]
  p             Print file to stdout
  r             Repair archive
  rc            Reconstruct missing volumes
  rn            Rename archived files
  rr[N]         Add data recovery record
  rv[N]         Create recovery volumes
  s[name|-]     Convert archive to or from SFX
  t             Test archive files
  u             Update files in archive
  v[t,b]        Verbosely list archive [technical,bare]
  x             Extract files with full path

<Switches>
  -             Stop switches scanning
  ac            Clear Archive attribute after compression or extraction
  ad            Append archive name to destination path
  ag[format]    Generate archive name using the current date
  ai            Ignore file attributes
  ao            Add files with Archive attribute set
  ap<path>      Set path inside archive
  as            Synchronize archive contents
  av            Put authenticity verification (registered versions only)
  av-           Disable authenticity verification check
  c-            Disable comments show
  cfg-          Disable read configuration
  cl            Convert names to lower case
  cu            Convert names to upper case
  df            Delete files after archiving
  dh            Open shared files
  dr            Delete files to Recycle Bin
  ds            Disable name sort for solid archive
  dw            Wipe files after archiving
  e[+]<attr>    Set file exclude and include attributes
  ed            Do not add empty directories
  en            Do not put 'end of archive' block
  ep            Exclude paths from names
  ep1           Exclude base directory from names
  ep2           Expand paths to full
  ep3           Expand paths to full including the drive letter
  f             Freshen files
  hp[password]  Encrypt both file data and headers
  id[c,d,p,q]   Disable messages
  ieml[addr]    Send archive by email
  ierr          Send all messages to stderr
  ilog[name]    Log errors to file (registered versions only)
  inul          Disable all messages
  ioff          Turn PC off after completing an operation
  isnd          Enable sound
  k             Lock archive
  kb            Keep broken extracted files
  m<0..5>       Set compression level (0-store...3-default...5-maximal)
  mc<par>       Set advanced compression parameters
  md<size>      Dictionary size in KB (64,128,256,512,1024,2048,4096 or A-G)
  ms[ext;ext]   Specify file types to store
  mt<threads>   Set the number of threads
  n<file>       Include only specified file
  n@            Read file names to include from stdin
  n@<list>      Include files listed in specified list file
  o[+|-]        Set the overwrite mode
  oc            Set NTFS Compressed attribute
  or            Rename files automatically
  os            Save NTFS streams
  ow            Save or restore file owner and group
  p[password]   Set password
  p-            Do not query password
  r             Recurse subdirectories
  r-            Disable recursion
  r0            Recurse subdirectories for wildcard names only
  ri<P>[:<S>]   Set priority (0-default,1-min..15-max) and sleep time in ms
  rr[N]         Add data recovery record
  rv[N]         Create recovery volumes
  s[<N>,v[-],e] Create solid archive
  s-            Disable solid archiving
  sc<chr>[obj]  Specify the character set
  sfx[name]     Create SFX archive
  si[name]      Read data from standard input (stdin)
  sl<size>      Process files with size less than specified
  sm<size>      Process files with size more than specified
  t             Test files after archiving
  ta<date>      Process files modified after <date> in YYYYMMDDHHMMSS format
  tb<date>      Process files modified before <date> in YYYYMMDDHHMMSS format
  tk            Keep original archive time
  tl            Set archive time to latest file
  tn<time>      Process files newer than <time>
  to<time>      Process files older than <time>
  ts<m,c,a>[N]  Save or restore file time (modification, creation, access)
  u             Update files
  v             Create volumes with size autodetection or list all volumes
  v<size>[k,b]  Create volumes with size=<size>*1000 [*1024, *1]
  vd            Erase disk contents before creating volume
  ver[n]        File version control
  vn            Use the old style volume naming scheme
  vp            Pause before each volume
  w<path>       Assign work directory
  x<file>       Exclude specified file
  x@            Read file names to exclude from stdin
  x@<list>      Exclude files listed in specified list file
  y             Assume Yes on all queries
  z[file]       Read archive comment from file

D:\_4>

was stimmt da nicht ?
 
Hier mal ein Beispiel (als test.bat, im Verzeichnis mit den zu komprimierenden Verzeichnissen erstellen und aufrufen) mit dem Packer 7zip:
Code:
for /D %%d in (*.*) do d:\programme\7-ZIP\7z.exe a -r %%d
pause

Das "/D" sorgt mit der for-Schleife dafür, dass Verzeichnisse gesucht und deren Namen in die Variable %%d gestellt werden.
Das "a -r" als Parameter für 7z.exe ist die Anweisung, dass das Verzeichnis "%%d" rekursiv, d.h. mit allen Unterverzeichnissen in das Archiv %%d.7z gepackt wird.
Bei "pause" hält der Batchjob nach getaner Arbeit an und man kann sich die Meldungen des Packers durchlesen.

"d:\programme\7-ZIP\7z.exe a -r" muss ggf. durch Verzeichnis+Namen + geeignete Aufrufparameter für das jeweils verwendete Packprogramm ersetzt werden. Speziell beim im Beispiel verwendeten 7zip - Datenformat läuft das Komprimieren zwar recht effizient, aber äußerst langsam über die Bühne. 7zip hat auch weit verbreitete Kompressionsverfahren (zip, gzip, bzip2 usw.) eingebaut und kann unterschiedlich intensive arbeiten (von schnell mit wenig Kompression bis langsam mit hoher Kompression).
 
Zuletzt bearbeitet:
cool test ich gleich .. muss 7zip laden :)

edit: komischer fehler

mach ich ordner 1 , 2, 3, 4, 5... dann gehts.. bekomm 1.rar 2.rar 3.rar .4.rar 5.rar... raus ;)

aber mit meinen ordner geht es nicht

7-Zip 4.65 Copyright (c) 1999-2009 Igor Pavlov 2009-02-03


Error:
there is no such archive

D:\_5>d:\_5\7z.exe a -r Programname.test.2009

7-Zip 4.65 Copyright (c) 1999-2009 Igor Pavlov 2009-02-03


Error:
there is no such archive

D:\_5>pause
Drücken Sie eine beliebige Taste . . .
Ergänzung ()

oky danke sehr! hab was gefunden

https://www.computerbase.de/forum/t...r-archiv-mehrer-ordner-wie-mit-winrar.530048/

geht mit winrar 0o
 
Zuletzt bearbeitet:
Könnte ein Fehlerchen im 7zip sein, der insbesondere bei "." in einem Verzeichnisnamen getriggert wird (ich weiß schon, wieso ich in Verzeichnisnamen den "." möglichst vermeide).

Workaround:
1. Ersetze "." in den Verzeichnisnamen z.B. durch " - ".
2. Verwende Anführungszeichen um den Verzeichnisnamen
Code:
for /D %%d in (*.*) do d:\programme\7-ZIP\7z.exe a -r "%%d"
pause
Funktioniert bei mir jedenfalls mit den Verzeichnisnamen "1 - 2009" und "2 - 2009". Bei Programmnamen in Verzeichnisnamen sehe ich aber, dass der "." spätestens in Versionsnummern gerne vorkommt.
Die Verwendung von "" sorgt in der Kommandozeile bei Batchjobs dafür, dass das aufgerufene Programm alles zwischen den beiden Anführungszeichen als eine Einheit betrachtet.

Gottseidank läuft es mit winrar anscheinend. Ggf. noch die "" nachrüsten.
 
Zuletzt bearbeitet:
Ich hab's jetzt noch mal für RAR getestet:

Im Verzeichnis ausführen, das die 50 Verzeichnisse enthält:
Code:
for /D %a in (*.*) do "c:\Program Files\winrar\rar.exe" a %a %a

Das ist die Kommandozeilenversion, für eine Batch muss es %%a statt %a heißen.

Funzt :)
 
danke kann ich speter brauchen wenn das automatisch passieren soll ;)
 
Das kann Winrar als auch der Total Commander.
Bei Winrar einfach die Verzeichnisse auswählen und unter Files "Put each file to seperate archiv" auswählen.
Beim Total Commander die Verzeichnisse auswählen, Packen und "Erzeuge seperate Archive, eins per gewählste Datei" auswählen.
 
Zurück
Oben