2011-01-16 4 views
2

Ich versuche, eine einfache Batch-Skript, aber es bleibt scheitern. Ich möchte nach jeder Datei in einem Verzeichnis (Basispfad) suchen und jede Datei in einem separaten RAR-Archiv ablegen.Batch-Programmierung: Rar von CLI, erhalten mehrere Dateien RARed jeweils im eigenen Archiv

Wenn ich "%% ~ ni.rar" in der rar-Zeile verwende, fügt er alle Dateien in alle Archive ein. SO für n Dateien bekomme ich n Archive mit in jedem Archiv die n Dateien. [auch scheint er die Archive nicht in [c: \ test *. *] zu legen, sondern legt sie stattdessen an den Ort der Batch-Datei.

Wenn ich "%% i.rar" verwende, erzeugt es zwei verschiedene Archive, aber dann ist die Dateiname total falsch: fe: testfile.jpg >> testfile.jpg.rar und das ist nicht wie ich es möchte (testfile .rar stattdessen)

@ECHO OFF 
CLS 

SET BASEPATH=c:\test 
SET RARExe=c:\PROGRA~1\WinRAR\RAR.EXE 

FOR %%i IN (%basepath%\*.*) DO %RARExe% a -m0 "%%~ni.rar" c:\test\*.* 
FOR %%i IN (%basepath%\) DO mkdir c:\test\%%~ni 

Goto :eof 

kann mir jemand helfen?

Antwort

1

Ich fand, wie es geht, eigentlich eine einfache Lösung.

FOR %%i IN (%basepath%\*.*) DO (
    rar a -ep1 -t -m0 c\test\%%~ni.rar %%i 
) 
Verwandte Themen