tparis
Goto Top

Packen von Ordnern mit Punkten im Ordnernamen per Batch

Wie kann man per Windows-Batch Ordnernamen mit Punkten packen.

Hallo!

Folgendes Szenario: Ich muss aus einem Ordner alle Unterordner in jeweils eine eigene Datei packen, jedoch haben die Unterordner Punkte im Ordnernamen, was zu Problemen führt.

D:\Backup enthät z.b. die Unterordner:

A15.20110404.rmbg
A16.20110404.rmbg
A17.20110404.rmbg ...usw.

Diese sollen in jeweils Rar-Achive gepackt werden die dann so aussehen:

A15.20110404.rmbg.rar

Ich habe dazu folgende Batch geschrieben:

@echo on
cd D:\Backup
for /D %%i in (*.*) do D:\Programme\WinRAR\rar.exe a "%%i" "%%i\*.*"

Und das packen wird mit der Meldung "Zugriff verweigert" abgebrochen

Entferne ich aber alle Punkte aus dem Ordnernamen (z.B. -> A1520110404rmbg) funktioniert es wie gewünscht.

Ich bin schon irgendwie darauf gekommen, das es irgendwie mit dem Punkt zu tun hat, wegen delim o.ä., hab mir auch versucht aus anderen Antworten hier mir eine passende Batch zusammen zu schustern, aber irgendwie ist mir die Windows-Batch zu abstrakt im gegensatz zu anderen einfachen Sprachen, als das das ad hoc hinhaut. Das entfernen der Punkte aus den Ordnernamen ist leider keine Option.

Wer mag mir mal rasch helfen bitte?

Edit: Achso vieleicht auch noch wichtig: es gibt Ordner mit unterschiedlich vielen Punkten im Ordnernamen, manche haben 2, manche 5, manche mehr.

Danke, Tom.

Content-Key: 172427

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

Printed on: April 16, 2024 at 17:04 o'clock

Mitglied: 60730
60730 Sep 01, 2011 at 10:25:02 (UTC)
Goto Top
moin,

anstatt
@echo on
cd D:\Backup
for /D %%i in (*.*) do D:\Programme\WinRAR\rar.exe a "%%i" "%%i\*.*"   

Würde ich ja - ohne das getestet zu haben..

@echo on
for /D %%i in (D:\Backup\*) do D:\Programme\WinRAR\rar.exe a "%%i.rar" "%%i\*.*"   
Es so probieren.

PS: Code tags sind was feines face-wink
Mitglied: 99045
99045 Sep 01, 2011 at 10:28:56 (UTC)
Goto Top
Hallo,

der cd-Befehl benötigt manchmal auch Parameter. face-smile

Hilfe mit cd /?

Gruß
Member: Biber
Biber Sep 01, 2011 at 10:56:54 (UTC)
Goto Top
Moin TParis,

willkommen im Forum.
Ergänzend zu Kaputtnix' zielführendem Tipp noch die Anmerkungen
  • wenn du schon im Batch das Laufwerk/Verzeichnis wechselst von A nach B, dann solltest du am Ende des Tages bzw. Batches auch wieder zurückwechseln von B nach A. Ist einfach guter Stil und kann früher oder später kleine Kätzchen retten.
  • und wenn du das gedanklich bejahst, dann könntest du auch gleich statt CD-mit-dem-richtigen-Parameter das Pärchen pushD/popD nehmen.

Hilfe auch zu pushD/popD in jeder gut sortierten Bahnhofsbuchhandlung oder am CMD-Prompt mit befehl /?.

Grüße
Biber
Member: ovu-p86
ovu-p86 Sep 01, 2011 at 11:24:33 (UTC)
Goto Top
Hallo TParis,

du sagst, daß es funktioniert wenn du alle Punkte im Verz.-Namen wegläßt.
Daher vermute ich, daß das Programm die Verzeichnisse als Dateien interpretiert.

Da ich 7-Zip nutze und die Syntax von WinRar nicht kenne, nur der Hinweis zusätzlich an einer bestimmten Stelle am Ende ein \ einzufügen.


Gruß
Uwe
Member: TParis
TParis Sep 01, 2011 at 11:27:58 (UTC)
Goto Top
OMG, das ich das übersehn hab :D

Das fehlende .rar war es in "%%i.rar". Das kommt davon, wenn man so verwöhnt ist, das er das selber anfügt, wenn man es nicht hinschreibt. Das es zu problemen kommen kann, weil er dann bei Punkten im Archiv-Namen das nach dem letzten Punkt als Dateiendung nicht akzeptiert, daran hab ich echt nicht gedacht.

Ich wusste, das es nur eine kleinigkeit sein konnte, bin aber auf die abstrusesten Ideen gekommen, danke Dir ;)

Code-Tags wusst ich jetzt nicht, wie die hier sind und dacht bei zwei Zeilen ist das jetzt auch nicht so wichtig. Das Editor-Fenster sieht da auch bissle nackt aus, denk ich das nächste mal aber dran, versprochen.

MfG Tom

P.S. An Kaputtnik/Biber: Ne leider war das nicht Zielführend, ich hab jetzt nur das .rar eingefügt und alles ist fein, auch mit meinem CD in der Batch (so packt er nämlich nur den eigenen Ordner als Pfad mit und nicht auch noch das Backup\ vorweg). Vielleicht habt Ihr beim nächsten mal mehr Glück. Danke trotzdem. ;)

Und auch dank an Uwe ;)
Mitglied: 60730
60730 Sep 01, 2011 at 11:48:31 (UTC)
Goto Top
Zitat von @TParis:
P.S. An Kaputtnik/Biber: Ne leider war das nicht Zielführend, ich hab jetzt nur das .rar eingefügt und alles ist fein,
auch mit meinem CD in der Batch (so packt er nämlich nur den eigenen Ordner als Pfad mit und nicht auch noch das Backup\
vorweg). Vielleicht habt Ihr beim nächsten mal mehr Glück. Danke trotzdem. ;)

Nun ja -die beiden meinten sinngemäß:

  • Üblicherweise startet man in c:\ - oder was auch immer sich hinter "%homedrive%" verbirgt.
  • ein reines cd laufwerk\pfad - läuft so nicht - entweder
d:
cd d:\pfad
- oder - wie es die beiden meinten
cd /d s:\pfad
oder Pushd/Popd


Gruß
Member: TParis
TParis Sep 01, 2011 at 11:58:25 (UTC)
Goto Top
Ja war mir schon klar, wie das gemeint ist. Aber D: ist bei dem System die Systempartition, also beim ausführen der Batch über eine Desktop-Verknüpfung ist man automatisch auf D:, der genauigkeit halber wäre es natürlich richtig erst nach D: zu wechseln, das war jetzt aber hier einfach nicht ursächlich mein Problem (sonst hätte er mir auch alles mögliche andere gepackt und ich hätte einen anderen Fehler produziert), sondern eher meine Denkblockade bei dem fehlenden .rar ;)

Also Danke nochmal und ist wie gesagt gelöst ;)

MfG Tom
Mitglied: 99045
99045 Sep 01, 2011 at 12:01:16 (UTC)
Goto Top
Zitat von @TParis:
auch mit meinem CD in der Batch (so packt er nämlich nur den eigenen Ordner als Pfad mit und nicht auch noch das Backup\
vorweg). Vielleicht habt Ihr beim nächsten mal mehr Glück. Danke trotzdem. ;)

Dein cd D:\Backup ist u. U. ein wirkungsloser Befehl, auch wenn du das besser zu glauben meinst.
Vielleicht kommst du irgendwann nochmal dahinter, dass man sich die Syntax der Befehle, die man nutzt, vorher mal ansehen sollte.
Member: TParis
TParis Sep 01, 2011 at 12:14:07 (UTC)
Goto Top
Siehe oben und ist jetzt auch eigentlich kein Grund beleidigt zu sein. Der Fehler hätte sich auch wesentlich anders geäußert, wenn das Problem in dem CD-Befehl gelegen hätte. Also nichts für ungut.

MfG Tom
Mitglied: 99045
99045 Sep 01, 2011 at 12:35:18 (UTC)
Goto Top
@TParis
Weder bin ich weder beleidigt noch habe ich behauptet (Biber auch nicht), dass der Fehler durch den cd-Befehl hervorgerufen wird, sondern lediglich einen Hinweis gepostet. Nach deiner Reaktion halte ich dich allerdings für beratungsresistent.
Member: TParis
TParis Sep 01, 2011 at 12:44:53 (UTC)
Goto Top
Ja ist Fein. Ich leg das Thema mal dann langsam ad acta, ja?

Alles gute weiterhin und MfG Tom