
115129
26.03.2016
Rar-Unrar mit Kommandozeilenparameter
Hallo zusammen,
ich bräuchte einen Code, der mir folgendes Abarbeitung soll:
Übergabe per Kommandozeilenparameter:
z.B. I:\Backup\B2016\452-0001-IN.rar
(Es können auch andere Archivendungen vorkommen wie .rar / .r01 / .r09 / etc.)
Funktionalität:
1.0 Prüfe den übergebenen Pfad "I:\Backup\B2016" auf:
1.1 Ob Rar- oder Zip-Archive enthalten sind.
1.2 Ob ein von ca. 10 definierte Schlagwörter an der Stelle von "\Backup\" übereinstimmen.
-> Falls ok, entpacke "I:\Backup\B2016\452-0001-IN.rar" nach "I:\Backup" und bennene den entpackten Dateinamen um wie der Verzeichnisname. (Z.B. "I:\Backup\B2016.bak")
1.3 Lösche Verzeichnis "I:\Backup\B2016".
2.0 Prüfe den übergebenen Pfad "I:\Backup\B2016" auf:
2.1 Ob ein von ca. 10 definierte Schlagwörter an der Stelle von "\Backup\" übereinstimmen. (Nicht die gleichen Schlagwörter wie bei 1.2)
-> Falls ok, packe den gesamten Inhalt von "I:\Backup\B2016" nach "I:\Backup\B2016.rar". Wenn Inhalt jedoch größer als 2GB ist, erstelle 2GB große Teilarchive.
2.2 Lösche Verzeichnis "I:\Backup\B2016".
Wäre jemand so nett mir unter die Arme zu greifen?
Habe mich selbst schon dran versucht, das Skript hat mir ein Archiv entpackt aber nicht dorthin wo ich wollte...
Wäre eine andere Programmiersprache für meine gewünschte Anwendung sinnvoller?
Schöne Osterfeiertage
SG,
Blattlaus
ich bräuchte einen Code, der mir folgendes Abarbeitung soll:
Übergabe per Kommandozeilenparameter:
z.B. I:\Backup\B2016\452-0001-IN.rar
(Es können auch andere Archivendungen vorkommen wie .rar / .r01 / .r09 / etc.)
Funktionalität:
1.0 Prüfe den übergebenen Pfad "I:\Backup\B2016" auf:
1.1 Ob Rar- oder Zip-Archive enthalten sind.
1.2 Ob ein von ca. 10 definierte Schlagwörter an der Stelle von "\Backup\" übereinstimmen.
-> Falls ok, entpacke "I:\Backup\B2016\452-0001-IN.rar" nach "I:\Backup" und bennene den entpackten Dateinamen um wie der Verzeichnisname. (Z.B. "I:\Backup\B2016.bak")
1.3 Lösche Verzeichnis "I:\Backup\B2016".
2.0 Prüfe den übergebenen Pfad "I:\Backup\B2016" auf:
2.1 Ob ein von ca. 10 definierte Schlagwörter an der Stelle von "\Backup\" übereinstimmen. (Nicht die gleichen Schlagwörter wie bei 1.2)
-> Falls ok, packe den gesamten Inhalt von "I:\Backup\B2016" nach "I:\Backup\B2016.rar". Wenn Inhalt jedoch größer als 2GB ist, erstelle 2GB große Teilarchive.
2.2 Lösche Verzeichnis "I:\Backup\B2016".
Wäre jemand so nett mir unter die Arme zu greifen?
Habe mich selbst schon dran versucht, das Skript hat mir ein Archiv entpackt aber nicht dorthin wo ich wollte...
Wäre eine andere Programmiersprache für meine gewünschte Anwendung sinnvoller?
Schöne Osterfeiertage
SG,
Blattlaus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 300197
Url: https://administrator.de/forum/rar-unrar-mit-kommandozeilenparameter-300197.html
Ausgedruckt am: 01.05.2025 um 16:05 Uhr
6 Kommentare
Neuester Kommentar
Hallo,
Gruß,
Peter
Zitat von @115129:
ich bräuchte einen Code, der mir folgendes Abarbeitung soll:
Also eine Wunschbestellungich bräuchte einen Code, der mir folgendes Abarbeitung soll:
das Skript hat mir ein Archiv entpackt aber nicht dorthin wo ich wollte...
Wie war das Skript? Dort hast du vermutlich einen falschen Parameter verwendet.Wäre eine andere Programmiersprache für meine gewünschte Anwendung sinnvoller?
Wir kenne ja noch nicht einmal deine jetzt verwendete Programmiersprache....Gruß,
Peter
Hallo,
Batch Anfänger Fragen zu setlocal, enabledelayedexpansion, set, for
Sicher das dein Code jeweils anders ist (nein, nicht dein "del %~1")?
Gruß,
Peter
Zitat von @115129:
Was mache ich an der Stelle falsch?
Mach dein @echo Off mal weg damit du siehst was passiert. Ordner passen alle? Enabledelayedexpansion?Was mache ich an der Stelle falsch?
Batch Anfänger Fragen zu setlocal, enabledelayedexpansion, set, for
Gibt es Möglichkeiten in den Ablauf was einzusetzen, um zu warten bis die Datei entpackt ist, danach umbenennen und dann das Rar-Archiv zu löschen?
Klar. z.B. ein "ping 127.0.0.1 -n 10" (ergibt eine ca. 10 sekunden pause)Sicher das dein Code jeweils anders ist (nein, nicht dein "del %~1")?
Gruß,
Peter
Hallo,
Gruß,
Peter
Zitat von @115129:
Die Batchdatei wird von einem externen Programm gestartet
Und?.Die Batchdatei wird von einem externen Programm gestartet
Nur die entpackte Datei %~n1 wird nicht umbenannt nach %Name%:
Mit @echo Off siehst du ob dein REN angendet wird, mach dahinter ein Pause zum in ruhe Lesen können. Dein uns genanntes Programmschnipsel kann aber auch alleine laufen, da braucht es kein Programm drum herum was alles ausblendet, inklusive Fehler.ren %~d1\%Directory%\ %~n1 %Name%
Sicher das hier nicht dein Fehler liegt?Unter %~1 wird z.B. I:\Backup\B2016\452-0001-IN.rar dem Batchskript übergeben. In dem Pfad I:\Backup\B2016\ befinden sich teilweise Unterverzeichnisse...können diese ignoriert werden?
Du übergibst keinen Pfad sondern einen Dateinamen, da gibt es dann keine Unterverzeichnisse....Diese Möglichkeit ist mir bekannt.
Dann nutze es oder ein Sleep (extern)Mir wäre jedoch lieber, dass das Batchskript den "Dearchivierungsvorgang läuft" erkennt
Und, wie meinst du das Batch dies erkennen könnte. Mit anderen Hochsprachen könnte da schon eher... aber es ist BATCH.und erst bei Fertigstellung der Dearchivierung das Skript weiter abarbeitet.
Tut dein Programmschnipsel doch....Gruß,
Peter