damiro
Goto Top

Datei ohne Unterordner komprimieren per Batch mit Winrar

Hallo

Ich möchte eine Datei, welche auf einem Server liegt komprimieren, per Batch von einem anderen Server aus mit Winrar.

Mein Problem mit folgendem Script:
"C:\Program Files (x86)\WinRAR\rar.exe" a \\<Server1>\D$\<Unterordner1>\<Unterordner2>\Datei.zip \\<Server1>\D$\<Unterordner1>\<Unterordner2>\Datei.txt

.. es wird zwar eine Zip Datei erstell, diese enthält jedoch den ganzen "Pfad", sprich <Unterordner>\<Unterorder>\Datei.txt

Ich möchte jedoch, dass nur die Datei.txt in der Zip Datei enthalten ist und nicht die ganzen Unterordner.

Bin für jede Hilfe dankbar.

mfg damiro

Content-Key: 223097

Url: https://administrator.de/contentid/223097

Printed on: April 23, 2024 at 19:04 o'clock

Member: Endoro
Endoro Nov 27, 2013 at 13:56:04 (UTC)
Goto Top
Hey, rar hat eine Kommandozeilenoption dazu:
RAR 5.00   Copyright (c) 1993-2013 Alexander Roshal   22 Aug 2013
Registered

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

<Commands>
  a             Add files to archive
  c             Add archive comment
  ch            Change archive parameters
  cw            Write archive comment to file
  d             Delete files from archive
  e             Extract files without archived paths
  f             Freshen files in archive
  i[par]=<str>  Find string in archives
  k             Lock archive
  l[t[a],b]     List archive contents [technical[all], 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[a],b]     Verbosely list archive contents [technical[all],bare]
  x             Extract files with full path

<Switches>
  -             Stop switches scanning
  @[+]          Disable [enable] file lists
  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
  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
  ht[b|c]       Select hash type [BLAKE2,CRC32] for file checksum
  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
  log[f][=name] Write names to log file
  m<0..5>       Set compression level (0-store...3-default...5-maximal)
  ma[4|5]       Specify a version of archiving format
  mc<par>       Set advanced compression parameters
  md<n>[k,m,g]  Dictionary size in KB, MB or GB
  ms[ext;ext]   Specify file types to store
  mt<threads>   Set the number of threads
  n<file>       Additionally filter included files
  n@            Read additional filter masks from stdin
  n@<list>      Read additional filter masks from list file
  o[+|-]        Set the overwrite mode
  oc            Set NTFS Compressed attribute
  oh            Save hard links as the link instead of the file
  oi[0-4][:min] Save identical files as references
  ol            Save symbolic links as the link instead of the file
  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
  qo[-|+]       Add quick open information [none|force]
  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<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

lg.
Member: damiro
damiro Nov 27, 2013 at 14:08:25 (UTC)
Goto Top
Danke für deine Antwort,
ja diese habe ich mir bereits angesehen, aber nichts passendes gefunden oder habe ich etwas übersehen?

lg
Member: Snowman25
Snowman25 Nov 27, 2013 at 14:15:01 (UTC)
Goto Top
Ja:
  r-            Disable recursion 
Gruß,
@Snowman25
Member: damiro
damiro Nov 27, 2013 at 14:48:10 (UTC)
Goto Top
Ok ich habe nun mehrere Varianten mit r- ausprobiert ohne Erfolg
Kann du mir sagen wie und wo ich diesen einbauen muss?

"C:\Program Files (x86)\WinRAR\rar.exe" a \\<Server1>\D$\<Unterordner1>\<Unterordner2>\Datei.zip \\<Server1>\D$\<Unterordner1>\<Unterordner2>\Datei.txt

lg
Member: colinardo
colinardo Nov 27, 2013 updated at 15:40:27 (UTC)
Goto Top
Hallo damiro,
der Parameter "r-" ist nicht der richtige für dein Vorhaben. Der Parameter -ep ist hierbei dein Freund und steht für (exclude paths):
"C:\Program Files (x86)\WinRAR\rar.exe" a -ep \\<Server1>\D$\<Unterordner1>\<Unterordner2>\Datei.zip \\<Server1>\D$\<Unterordner1>\<Unterordner2>\Datei.txt
Damit landen die Dateien direkt im Root des ZIP-Files.

Grüße Uwe
Member: damiro
damiro Nov 27, 2013 at 15:36:17 (UTC)
Goto Top
Hallo Uwe

Vielen Dank! Funktioniert einwandfrei.

lg
Member: colinardo
colinardo Nov 27, 2013 at 15:38:12 (UTC)
Goto Top
Beitrag bitte noch als gelöst markieren. Merci.