roberthorn
Goto Top

Batch Datei Winrar die folgende Funktion aufweist

(habe gesehen das Biber hier sehr gute Erfahrungen hat...)

Hallo,

ich habe viel gegoogelt und auch hier im Forum versucht mir ne MINI Batch aufzubauen, allerdings ist das wohl nicht mein Fall...face-wink

Ich möchte einfach nur ne Batch haben die folgendes macht:

Liebe Batch,

rufe winrar auf und zippe einen Ordner unter c:\XXXXXXx

dieses gezippte file speicherst Du bitte mit Datumsangaben (Jahr/Monat/Tag.rar) unter c:\XXXXXXX.rar

danach hast Du alles erledigt und kannst Dich wieder schlafen legen bis ich Dich (wie jede Stunde) wieder aufrufe face-wink

Für jeden Denkanstoss und hilfe bin ich dankbar, für so einen Profi wie z.B. Biber dürfte dies doch kein Prob darstellen,oder ?

Vielen Dank, Grüße Robert

Content-ID: 51366

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

Ausgedruckt am: 25.11.2024 um 22:11 Uhr

Dani
Dani 11.02.2007 um 18:25:18 Uhr
Goto Top
G' Abend,
ich hoffe das ich dir antworten darf, wenn auch mein Nick mit Biber gar nichts zu tun hat. face-smile
Also von WinRAR gibt es die rar.exe für die Konsole. Mit dieser kannst du alles machen, was du sonst mit der grafischen Oberfläche klickst.

Ich würde das so machen:
@echo off & setlocal
for /f "delims=. tokens=1,2,3*" %%a IN ('echo %date%') do (  
 set tag=%%a
 set monat=%%b
 set jahr=%%c
)

"C:\programme\winrar\rar.exe" a -m5 -y "C:\%jahr%/%monat%/%tag%.rar" "C:\xxxx\xx"  
So müsste es gehen. Kam leider nicht zum testen.


Gruß
Dani
bastla
bastla 11.02.2007 um 18:34:46 Uhr
Goto Top
Hallo roberthorn!

Die "/" im Dateinamen würde ich nochmals überdenken, aber wenn Du in Dani's Lösung zB "C:\%jahr%-%monat%-%tag%.rar" schreibst, sollte das Ganze klappen (es sei denn, Dein "date"-Befehl besteht darauf, Dich auch mit dem Wochentag zu versorgen).

Grüße
bastla
Biber
Biber 11.02.2007 um 18:40:27 Uhr
Goto Top
Moin roberthorn,

danke für die Blumen, aber auch ich bin hier nur einer vielen, die versuchen, beim gemeinsamen Entwickeln und Verfeinern von Lösungen zu helfen.

Aber ich kann mal als erstes die Flinte in den Ring werfen oder wie das heißt...

Also, Deine Frage hat eine handwerkliche Seite und ein paar konzeptionelle Aspekte.

Zum Handwerklichen:
Das einzig Aufregende ist das Zusammenbraten des Datums-Strings, der Teil des neuen *.rar-Namens sein soll.
Dafür steht eine GetAllDateTimeInfos.bat zur freien Verwendung in dem .
Copy & Paste die Dir in einen handelsüblichen Editor und speichere die unter diesem Namen irgendwo in Deinen %path%, z.B. nach %windir%.

Danach kannst Du mit "Call getAllDateTimeInfos /s /q" alle Datums/Zeit-Einzelteile als Variablen ansprechen und nach dem Rar'en wieder mit "Call GetAll´DateTimeInfos /u" entsorgen.

Beispiel am CMD-Prompt:
$cmd$getAllDateTimeInfos /s
INDate=11.02.2007
INTime=18:18:29,11
DateOrder=TT-MM-JJ
KW=7
OSKW=7
DoW=1
DoY=42
cDow=So
DD=11
TT=11
MM=02
JJ=2007
YY=2007
hh=18
min=18
ss=29
ms=11
Nach dem /s = Set-Aufruf kannst Du also einen String mit Set "rarname=%JJ%-%MM%-%TT%.rar" oder ähnlich zusammenstoppeln.
Für den Batch-Einsatz wird bei WinRar auch eine Rar.exe mitgeliefert, die ebenfalls im WinRar-Verzeichnis auf dich wartet.

Damit lässt sich nach der Mimik
"d:\Programme\WinRAR\rar.exe <Befehl> <Schalter> <RarArchivname> <VerzeichnisDasGepacktWerdenSoll>"
das eigentliche Zusammenschrumpeln abfackeln.

Mehr ist es nicht..rein handwerklich.

Konzeptionell allerdings..da musst Du noch mal schauen, wie oft Du eine neue Voll-Sicherung im Rar-Format brauchst.
Ob Du stündlich oder täglich das Verzeichnis komplett sicherst/archivierst als "neues" Archiv, unter einem neuen Namen oder jeden Tag/jede Woche ein neues Archiv, welches dann "nur" aktualisiert wird.

Denn, wie Dir jeder, der auf ältere Versionen von irgendwas zurückgehen wollte, bestätigen kann:
1097 vorhandene Sicherungen einer Datei machen das Zurückgehen auf einen alten Stand nicht einfacher.

Und die Wahrscheinlichkeit, dass Du bei Dateien, die sich häufig ändern, irgendwann einmal ganz unbedingt von einer Datei den Stand vom 16. April 2003 um 16:03h haben willst, ist eher gering.
Deshalb würde ich eher noch kurz über die full/incremental-Backup-Strategie meditieren, bevor Du die 10 Zeilen Handwerliches reinklimperst.

Gruss
Biber
[Edit]
Aber ich kann mal als erstes die Flinte...
Hätte ich mir denken können, dass das hier in diesem Forum nicht zu schaffen ist.. face-wink
SETZE: --> Aber ich kann mal als erstes drittes die Flinte...
[/Edit]
roberthorn
roberthorn 11.02.2007 um 18:47:37 Uhr
Goto Top
Hallo,

danke euch allen für eure Antwort !!

@lieber Biber face-wink -> du hattest einfach so viele gute beiträge in diesem Forum, weshlab ich versucht habe Dich zu "rufen" ->"ruf, den biber, wieder, weißt schon face-wink))"

werds jetzt gleich mal probieren, und euch meine Erfahrung posten...leider bin ich in batches gar nicht fähig, habe aber auch andere qualitäten face-wink))

bauche das ganze eigentlcih nur, um diesen besagten Ordner/Datei dann in ein Webverzeichnis zu kopieren (auch mittels Batch -> aber dazu bin/war ich fähig ;_)))
un dann in einem Proggi automatisch einzulesen --> auch dies ist schon fertig face-wink

diesbezüglich ist es nicht wichtig, die Dateien als sicherung zu haben , sondern nur als aktuelle version....

also, ich meld mich gleich nochmal , und vielen Dank für eure Hilfe !!!

Gruß,
Robert
roberthorn
roberthorn 11.02.2007 um 19:07:33 Uhr
Goto Top
Hallo,

hier mal der Code , aber irgendwie klappts nicht -> kein FM (Fehlermeldung)


@echo off & setlocal
for /f "delims=. tokens=1,2,3*" %%a IN ('echo %date%') do (
set tag=%%a
set monat=%%b
set jahr=%%c
)

"C:\Program Files\WinRAR\rar.exe" a -m5 -y "C:\Documents and Settings\Administrator\Desktop\Listen CallsnMore\VK Listen\VK_2007-2-9_dollar.csv" "C:\Inetpub\vhosts\default\htdocs\%jahr%-%monat%-%tag%.rar"

was dran falsch ???
Dani
Dani 11.02.2007 um 19:12:00 Uhr
Goto Top
Hi,
naja...du solltest schon richtig abschreiben. Du musst du die beiden Pfade tauschen (Ziel und Quelle).


Gruß
Dani
roberthorn
roberthorn 11.02.2007 um 19:34:07 Uhr
Goto Top
Hi Dani,

leider funktionierts nicht:

@echo off & setlocal
for /f "delims=. tokens=1,2,3*" %%a IN ('echo %date%') do (
set tag=%%a
set monat=%%b
set jahr=%%c
)

"C:\Program Files\WinRAR\rar.exe" a -m5 -y "C:\Inetpub\vhosts\default\htdocs\%jahr%-%monat%-%tag%.rar" "C:\Documents and Settings\Administrator\Desktop\Listen CallsnMore\VK Listen\VK_2007-2-9_dollar.csv"


Fehlermeldung: FM: Cannot Create c:\inetpub\vhosts\default\htdocs\ Sun 02/112007.rar
This System cannot find the path path specified.

Denke mal wg. den Leerzeichen ??? -> htdocs\ Sun 02/112007.rar

so schwer, und eigentlcih so eine kleine aufgabe für den rechner -> oder den besitzer ;-(
bastla
bastla 11.02.2007 um 19:37:20 Uhr
Goto Top
Hallo roberthorn!

Vielleicht besser so:
for /f "tokens=1-4 delims=. " %%a in ('echo %date%') do (  
set tag=%%b
set monat=%%c
set jahr=%%d
)
Wenn's so nicht ginge, gib einmal direkt am Prompt
echo %date%
ein und poste Dein Ergebnis (falls Du noch immer nicht Biber's Luxusvariante - siehe oben - einsetzen möchtest).

Grüße
bastla

[Edit] Fehlendes %-Zeichen nachgetragen [/Edit]
roberthorn
roberthorn 11.02.2007 um 19:43:09 Uhr
Goto Top
Hallo Bastla,

vielen Dank aber----> Fehlermeldung-> date´) was unexpected at this time

@echo off & setlocal
for /f "tokens=1-4 delims=. " %a in ('echo %date%') do (
set tag=%%b
set monat=%%c
set jahr=%%d
)


"C:\Program Files\WinRAR\rar.exe" a -m5 -y "C:\Inetpub\vhosts\default\htdocs\%jahr%-%monat%-%tag%.rar" "C:\Documents and Settings\Administrator\Desktop\Listen CallsnMore\VK Listen\VK_2007-2-9_dollar.csv"


Fehlermeldung-> date´) was unexpected at this time

ohje,


nochmal FM= date´) was ........
bastla
bastla 11.02.2007 um 19:44:54 Uhr
Goto Top
Hallo roberthorn!

Was bekommst Du bei
echo %date%
angezeigt?

Grüße
bastla
roberthorn
roberthorn 11.02.2007 um 19:46:41 Uhr
Goto Top
ich bekomme auf nem w2k3 server in englisch->

sun 02/11/2007

gruß,
Robert
bastla
bastla 11.02.2007 um 19:46:55 Uhr
Goto Top
... mit %a kanns nicht gehen - bitte auf %%a in der for-Zeile ändern - sorry

bastla

[Edit] in allen Versionen korrigiert [/Edit]
bastla
bastla 11.02.2007 um 19:48:46 Uhr
Goto Top
... aber jetzt:

for /f "tokens=1-4 delims=/ " %%a in ('echo %date%') do (  
set tag=%%c
set monat=%%b
set jahr=%%d
)

bastla
roberthorn
roberthorn 11.02.2007 um 19:52:48 Uhr
Goto Top
Leider immer das selbe ->

FM-> Cannot create c:\Inetpub\vhosts\default\htdocs\--02/11/2007.rar


@echo off & setlocal
for /f "tokens=1-4 delims=. " %%a in ('echo %date%') do (
set tag=%%b
set monat=%%c
set jahr=%%d
)


"C:\Program Files\WinRAR\rar.exe" a -m5 -y "C:\Inetpub\vhosts\default\htdocs\%jahr%-%monat%-%tag%.rar" "C:\Documents and Settings\Administrator\Desktop\Listen CallsnMore\VK Listen\VK_2007-2-9_dollar.csv"

die batch möchte bitte von C:\Documents and Settings\Administrator\Desktop\Listen CallsnMore\VK Listen\VK_2007-2-9_dollar.csv o.ä. eine rar in das verzeichnis C:\Inetpub\vhosts\default\htdocs\%jahr%-%monat%-%tag%.rar machen

so dachte ichs mir.....

nochmal danke für Deine Hilfe face-wink
bastla
bastla 11.02.2007 um 19:55:58 Uhr
Goto Top
Hallo roberthorn!

Testest Du vielleicht doch noch die Version von 19:48:46 Uhr? Diese berücksichtigt Dein englisches Datumsformat. Das zweite (oder eigentlich erste) Problem ergab sich aus dem zuätzlich angezeigten Wochentag - diesbezüglich ist MS sehr, sagen wir mal, "variabel".

Grüße
bastla
roberthorn
roberthorn 11.02.2007 um 19:56:29 Uhr
Goto Top
STOP !!!!

face-wink)

es hat geklappt der Code ist folgender:

@echo off & setlocal
for /f "tokens=1-4 delims=/ " %%a in ('echo %date%') do (
set tag=%%c
set monat=%%b
set jahr=%%d
)

"C:\Program Files\WinRAR\rar.exe" a -m5 -y "C:\Inetpub\vhosts\default\htdocs\%jahr%-%monat%-%tag%.rar" "C:\Documents and Settings\Administrator\Desktop\Listen CallsnMore\VK Listen\VK_2007-2-9_dollar.csv"
roberthorn
roberthorn 11.02.2007 um 19:57:53 Uhr
Goto Top
vielleicht bin ich zu schnell face-wink)) -> oder der server zulahm, denn mache posts kommen irgendwie nach meinen antowrten .....
Dani
Dani 11.02.2007 um 19:59:39 Uhr
Goto Top
Wunderbar...schön zu hören! Bitte den Thread als "gelöst" markieren. Dazu oben bei der Problembeschreibung auf editieren klicken und den entsprechenden Hacken setzen. Danke...


Gruß
Dani
roberthorn
roberthorn 11.02.2007 um 20:01:15 Uhr
Goto Top
Nochmal ->

vielen herzlichen Dank für Deine Zeit und Mühe !!!!!!

das hat uns grad viel weitergeholfen, vielen Dank !!!!
Biber
Biber 11.02.2007 um 20:04:34 Uhr
Goto Top
...gegen so ein Geeiere habe ich damals die GetAllDateTimeInfos geschrieben...*gg

Interessehalber, roberthorn, was bringt denn ein "GetAllDateTimeInfo /s" an deinem Server für ein Ergebnis?

[Nur zum Test, ob ich damals alles zu Ende gedacht habe...]

Gruss Biber
roberthorn
roberthorn 11.02.2007 um 21:09:04 Uhr
Goto Top
Hallo,

leider gibts noch ein kleines Problem, denn nun wenn ich das File runterlade dann erhalte ich ein rar file das wenn ich dies auspacke folgendes macht:

es entpackt nach---> \2007-02-11\Documents and Settings\Administrator\Desktop\Listen CallsnMore\VK Listen

...nein bitte genau in ein anderes Verzeichnis, zb. c:\xyz\mein wunsch......

nochmal danke, bitte kann das jemand lösen ???

Gruß,
Robert
roberthorn
roberthorn 11.02.2007 um 21:18:03 Uhr
Goto Top
@ biber

ich werds morgen testen, denn leider muß jetzt nochjemnad hierher kommen und mich langxxxxx

dann werde ich Dir das ergebnis posten face-wink

Gruß,
Robert