carinthianwerewolf
Goto Top

Batch Datei WinRAR

Starten von WinRAR mittels einer Batch Datei

Hallo

Also bin zum ersten mal hier aber ich habe da ein kleines Problem:

Ich möchte monatlich mittels einer Batch Datei Winrar starten und durch Starten von WinRAR eine Textdatei komprimieren bzw. packen.

Bin für jede Hilfe dankbar

mfg carinthianwerewolf

Content-ID: 30961

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

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

miniversum
miniversum 23.04.2006 um 11:22:17 Uhr
Goto Top
Hallo

Wie du eine Datei komprimiert (welche optionen du Mitgeben must) Kannst du in der Datei Rar.txt nachlesen die im Winrar Verzeichnis liegt. Ist alles gut beschrieben dort.

miniversum
carinthianwerewolf
carinthianwerewolf 23.04.2006 um 12:47:05 Uhr
Goto Top
Ja hab mir das auch schon angeschaut.
Hab im Internet noch etwas gefunden:

c:/programme/winrar/winrar.exe -ep1 -r
c:/September.rar
c:/1234/*.*

Wenn ich diese 3 Zeilen unter Start --> Ausführen --> cmd eingebe funktioniert alles wunderbar.
Vorausgesetzt natürlich der Ordner 1234 ist bereits eixistent.

Das Problem jetzt ist aber:

Erstelle ich eine .bat Datei, welche die obigen 3 Zeilen beinhaltet funktioniert das ganze nicht mehr und es kommt eine Fehlermeldung

Wäre nett wenn mir jemand eine Hilfestellung geben könnte.

mfg carinthianwerewolf
Biber
Biber 23.04.2006 um 14:23:37 Uhr
Goto Top
..und wenn Du es als eine Zeile eingibst, wie es eigentlich vorgesehen ist?

Magst Du auch erzählen, was für eine Fehlermeldung kommt?
Gruß
Biber
carinthianwerewolf
carinthianwerewolf 23.04.2006 um 15:06:02 Uhr
Goto Top
Komisch face-smile

Also erstens hab ich das a zwischen .exe und -ep1 c:/programme/winrar/winrar.exe a -ep1 -r vergessen.

Und auf einmal funktionierts wenn ichs in eine Zeile schreibe. Voll super

thx

Also da das mit dem komprimieren jetzt funktioniert:

C:/programme/winrar/winrar.exe a -ep1 -r c:/September.rar c:/September/*.*

Also jeden Monat wird von LabVIEW ein Ordner erstellt in dem sich Messdaten jeden Tages in Form einer Textdatei befinden.

Wenn ich nun diese batch Datei in geplante Tasks kopiere und monatlich angib, dann wird aber jedesmal der selbe Ordner gepackt.

Wie stelle ich es nun an das jeden Monat der Ordner mit dem entsprechenden Monatsnamen komprimiert wird????

Wäre wiederum um Hilfe erfreut ;)

mfg carinthianwerewolf
Biber
Biber 23.04.2006 um 16:18:44 Uhr
Goto Top
Moin carinthianwerewolf,

würd ich mir überlegen, ob und wie ich das in einem Batch verdrahte, der nur einmal im Monat läuft.

Diese LabView-Testdaten-Bereitsteller haben doch einen Sockenschuss, wenn die irgendwo jeden Monat ein Verzeichnis "September" oder "März" (oder "Maerz" ??) anlegen, ohne die Verzeichnisnamen irgendwo in einem Log niederzuschreiben. *kopfschüttel*
Wie unterscheidest Du dann "September 2006" und "September 2003"?

Also: Strategien ( bewertete Reihenfolge; die praktikabelsten zuerst):
- auf monatlichen automatischen Start der Batch verzichten und einmal im Monat den Batch anpassen (meine ich ernst)
- auf der LabView-Seite versuchen, ob da nicht auch ein vorhersagbarer Verzeichnis-Name generieriert werden kann (z.B. im Format YYYY-MM oder so). Denn wie die meinen, den "März" schreiben zu müssen, weißt Du gar nicht vorher.
- dritte Strategie - überprüfen, ob nicht deren "letzte Lieferung" in irgendeiner Log-Datei steht- jede automatische Nachbildung eines nicht genau dokumentierten Algorithmius wie "Lege-Monatsverzeichnisse an" ist pure Rumraterei.
- oder, einmal im Monat, vor dem Start des Batches, eine Umgebungsvariable %AktuellerMonat% setzen. aber dann kannst Du genauso die eine WinRar-Zeile von Hand abschicken..

Wenn Du alle Warnungen in den Wind schlagen solltest und Dir diesen "September" oder ähnliches "berechnen" willst:
....(im Batch)
for /f "delims=. tokens=2" %%i in ("%date%") do Set "MM=%%i"  
If [%MM%]==[01] set "AktMonat=Januar"  
If [%MM%]==[02] set "AktMonat=Februar"  
...
If [%MM%]==[12] set "AktMonat=Dezember"  
if exist c:\%Aktmonat%\*.* (
C:\programme\winrar\winrar.exe a -ep1 -r c:\%AktMonat%.rar c:\%AktMonat%\*.*
)

Aber dennoch..bei den wackeligen Vorgaben würde ich es manuell machen.

Gruß
Biber
carinthianwerewolf
carinthianwerewolf 23.04.2006 um 17:09:58 Uhr
Goto Top
schönen guten abend Biber

Es ist ja nicht so, dass das ein von National Instruments erstelltes LabView Programm ist, sondern ein selbst erstelltes.
Dabei wird ein Ordner mit dem JAHR (z.B.206,2007....) darin die Ornder mit den MONATEN (z.B. April,Mai..) und darin wieder Ordner mit den TAGEN (22.,23....) angelegt ;)

Da diese Textdateien bzw die Monatsordner mit den erfassten Messwerten sehr groß werden auf Grund der alle Minuten erfassten Werte, wollen wir die Ordner packen was mit Text sehr gut komprimiert wird ~1000:1.

Funktioniert das dennoch mit dem von dir beschriebenen Programmzeilen??

mfg carinthianwerewolf
Biber
Biber 23.04.2006 um 17:42:47 Uhr
Goto Top
Im Prinzip ja, carinthianwerewolf,

wobei ich natürlich oben nur die Monatswerte ermittle (würde ja für Deinen Zweck ausreichen, außer wenn Du irgendwann mal täglich rar-en willst oder nach Silvester immer noch den gleichen Batch starten willst).

Wie Du das ganze Systemdatum aufdröselst in Jahr, Monat, Tach etc ist in einem der Tutorials im Bereich "Batch & Shell" beschrieben.
"Datums- und Zeitvariablen im Batch" heißt das da.

Dann musst Du halt Deine Pfadangaben "Lw:\LabDaten\2005\[Monat]" voreben oder eben auch das Jahr aus dem Systemdatum ermitteln.
Mach doch erst mal den Anfang - korrekturlesen kann ich Deinen Schnipsel dann gerne noch mal.
Außerdem...*gg - was spricht bei Bätchen dagegen, dass die stabiler und robuster laufen als Software von National Instruments.
Ich hab jetzt extra nicht geschrieben "...als Software von M$.."

Gruß
Biber
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 11:41:27 Uhr
Goto Top
Schönen guten Tag.

Also ich hab jetzt erstmal die obigen Zeilen übernommen und alle Monate inkludiert.
Aber irgendwie funktioniert das noch so recht face-sad
for /f "delims=. tokens=2" %%i in ("%date%") do Set "MM=%%i"

If [%MM%]==[01] set "AktMonat=Januar"
If [%MM%]==[02] set "AktMonat=Februar"
If [%MM%]==[03] set "AktMonat=Maerz"
If [%MM%]==[04] set "AktMonat=April"
If [%MM%]==[05] set "AktMonat=Mai"
If [%MM%]==[06] set "AktMonat=Juni"
If [%MM%]==[07] set "AktMonat=Juli"
If [%MM%]==[08] set "AktMonat=August"
If [%MM%]==[09] set "AktMonat=September"
If [%MM%]==[10] set "AktMonat=Oktober"
If [%MM%]==[11] set "AktMonat=November"
If [%MM%]==[12] set "AktMonat=Dezember"

if exist c:\%Aktmonat%\*.*

(
C:\programme\winrar\winrar.exe a -ep1 -r c:\%AktMonat%.rar c:\%AktMonat%\*.*

)

Also das Systemdatum brauch ich eigentlich ja nicht, weil mich ja nur der Monat interessiert.

Wobei mir gerade noch einfällt das ich nachdem der Ordner gepackt wurde, den nicht gepackten Ordner löschen möchte. Gibts da auch einen bestimmten Befehl dafür?

Wäre nett wenn du mir noch weiterhelfen könntest.

mfg carinthianwerewolf
Biber
Biber 24.04.2006 um 12:05:48 Uhr
Goto Top
<-------hier bitte ein: echo AktMonat: [%AktMonat%]
if exist c:\%Aktmonat%\*.* (
<--------------hier darf keine Leerzeile
C:\programme\winrar\winrar.exe a -ep1 -r c:\%AktMonat%.rar c:\%AktMonat%\*.*
<--------------hier darf keine Leerzeile
)


??? c:\%Aktmonat%\*.* --> ich dachte, Du hast es in einer Verzeichnisstruktur: [Lw:]\blablubb\YYYY\monatsname ??

Gruß
Biber
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 12:32:08 Uhr
Goto Top
Schönen guten Tag wiedermal face-smile

Also dabei gibt es folgdendes Problem:

[%AktMonat"] wird nicht erkannt

Wenn ich die Batch Datei ausführe wird ein Syntaxfehler angezeigt
_______________________________________________________________
echo AktMonat: [%AktMonat%]
if exist c:\%Aktmonat%\*.*
(
C:\programme\winrar\winrar.exe a -ep1 -r c:\%AktMonat%.rar c:\%AktMonat%\*.*
)
_______________________________________________________________

Nein das ganze ist direkt auf C:. Vorläufig einmal

mfg carinthianwerewolf
Biber
Biber 24.04.2006 um 12:45:22 Uhr
Goto Top
Bitte am Cmd-Prompt eingeben:
for /f "delims=. tokens=2" %%i in ("%date%") do ECHO Set "MM=%%i"

..und Ergebnis posten.
Nur die Ruhe.... *gg

Biber
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 12:53:02 Uhr
Goto Top
Also wenn ich diese Zeile direkt in cmd eingebe: wird zurückgegebn, dass .... syntaktisch an dieser Stelle nicht verarbeitbar

Schreibe ich diese Zeile aber in eine Batch Datei und starte diese Batch datei via cmd, so wird

C:\>ECHO Set "MM=04"
Set "MM=04"

zurückgegeben.

mfg carinthianwerewolf
Biber
Biber 24.04.2006 um 12:59:50 Uhr
Goto Top
Sorry, mein Fehler...

also ...Monat "04" erkennt er dann ja schon mal..

Jetzt bitte als Ersatz für den "alten" Batch diesen hier:

::---------Snipp Test.bat
@echo off & Setlocal
for /f "delims=. tokens=2" %%i in ("%date%") do Set "MM=%%i"

If [%MM%]==[01] set "AktMonat=Januar"
If [%MM%]==[02] set "AktMonat=Februar"
If [%MM%]==[03] set "AktMonat=Maerz"
If [%MM%]==[04] set "AktMonat=April"
If [%MM%]==[05] set "AktMonat=Mai"
If [%MM%]==[06] set "AktMonat=Juni"
If [%MM%]==[07] set "AktMonat=Juli"
If [%MM%]==[08] set "AktMonat=August"
If [%MM%]==[09] set "AktMonat=September"
If [%MM%]==[10] set "AktMonat=Oktober"
If [%MM%]==[11] set "AktMonat=November"
If [%MM%]==[12] set "AktMonat=Dezember"
Echo Aktmonat [%Aktmonat%]
Echo on
if exist c:\%Aktmonat%\*.* (
C:\programme\winrar\winrar.exe a -ep1 -r c:\%AktMonat%.rar c:\%AktMonat%\*.*
)
::----------
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 13:37:33 Uhr
Goto Top
Schönen guten Nachmittag Biber

Wunderbar, bist der beste ;)

Funktioniert super, auch wenn ich das Datum auf z.B.: Mai umstellt und einen Ordner in C: mit Namen Mai erstellt wird dieser gepackt.

Danke für deine echt erstklassige Hilfe.

Aber eins wär da noch.

Die Daten die jedes Monat anfallen, in Form von Textdateien werden gepackt, aber die Ordner die noch so große Datenmengen enthalten bleiben bestehen.

Es wär noch klasse, wenn diese Ordner gelöscht werden würden.

mfg carinthianwerewolf
Biber
Biber 24.04.2006 um 13:52:25 Uhr
Goto Top
Meinetwegen, carinmitdemlangennachnamen,

dann (Skizze):
Erstens NACH dem RAR-Befehl den Errorlevel prüfen:
...
..rar.exe....bla fasel ....
IF Errorlevel 1 (
echo RAR ging in die Grütze mit Errorlevel %Errorlevel%
Goto :eof
)

:: hier der OKAY-Fall: IF ERRORLEVEL 0 ...
Rd c:\%AktMonat% /s /y >nul
:: ...oder welche Parameter Du auch brauchen magst. Siehe RD /?

Bei Fragen weißt Du ja, wo Du mich findest.
Gruß
Biber
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 14:25:08 Uhr
Goto Top
Also der name hat schon seinen sinn face-smile carinthian für kärntner (bundesland in Ö) und werewolf face-smile

Also ich hab jetzt folgende zeilen an das vorherige programm das die ordner packt angehängt
__________________________________________

IF Errorlevel 1 (
echo RAR . %Errorlevel%
Goto :eof
)

Rd c:\%AktMonat% /s /y >null
__________________________________________

was mit aufgefallen ist: war das bei dir beabsichtigt, dass /y >null nur ein l hat weil mit 2 l wird eine datei erzeugt mit namen null. ??

Nur das mit der grütze is ma nit so klar face-smile

mfg carinthianwerewolf
Biber
Biber 24.04.2006 um 14:39:54 Uhr
Goto Top
face-wink carinthianwerewolf

Tja, wir Bremer kennen keine Kärntner Werwölfe und ihr keine Grütze (nicht mal Rote).

Mit nul (mit einem "L") ist Absicht.
Unter *nix ist das das /dev/null (mit zwei "L")
In der DOS und Windows-Welt heißt das Null-Device "nul" bzw. alle Standard-Devices haben 3 Zeichen (CON, ERR, PRN, AUX, NUL)
NUL ist das M$-Nirwana, da wollte ich die Vollzugsmeldungen vom RD hinschicken.

Kannst es aber natürlich auch in eine Log-Datei schreiben....Du findest im Bereich Batch und und Shell ein paar Beispiele für Batch mit Logdatei.

Grüße
Biber
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 15:03:13 Uhr
Goto Top
na so is das nun auch wieder nicht, dass wir keine rote grütze kennen, nur nennt man bei uns das glaub ich irgendwie anders aber mir fällt der name nicht ein.
Auf jedenfall sieht das hier sehr schmackhaft aus:
http://www.marions-kochbuch.de/rezept/0218.htm

Nichts destotrotz hab ich vorhin vergessen das ansonsten nichts passiert wenn ich die paar zeilen dranhänge, zumindest wird der ordner nicht gelöscht

mfg carinthianwerewolf
Biber
Biber 24.04.2006 um 15:24:35 Uhr
Goto Top
ach, muss auch "Rd /s /q verzeichnis" heißen..
Montage sind nicht meine Tage...

Ich geh erstmal im Kochbuch stöbern, falls jemand nach mir fragen sollte..
Danke für den Link face-wink
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 15:45:13 Uhr
Goto Top
Jawoll, danke jetzt funktionierts endgültig wie gewollt.

Danke für deine Bemühungen und Hilfestellungen.

Ja wer mag schon Montage ?! face-smile

Falls noch was gutes zu essen gefunden hast, informier mich ;)

mfg carinthianwerewolf
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 15:47:33 Uhr
Goto Top
Ah jetzt wo ichs nochmal genauer betrachte fällt mir ein, dass nicht der derzeitige monat gepackt werden soll, weil da kommen dann ja jeden tag noch daten hinzu,

Sondern es soll ja der monat davor gepackt werden.

Wenn ichs nicht so mit der vergesslichkeit hätte, wär viel besser face-smile

Vielleicht könntest mir da ja nochmal weiterhelfen?
Biber
Biber 24.04.2006 um 16:23:35 Uhr
Goto Top
*eherSpringIchLachendInDieKreissägeBevorIchMontagsNochmalVersucheFragenZuBeantworten....*
*grummelbrummelbrummelfluchundschimpf*

Wir machen das jetzt anders - mit diesen Zeilen:
:: ---snipp MachMirDenCarinthianwerewolfRarVomVormonat.bat
@echo off & setlocal
echo wscript.echo monthname(datepart("m", dateAdd("m",-1, date())))>%temp%\lastmonth.vbs  
For /f %%i in ('cscript //nologo %temp%\lastmonth.vbs') do set "LastMonth=%%i"  
del %temp%\lastmonth.vbs
:: ##uncomment for Debug## echo LastMonth [%LastMonth%]
if [%LastMonth%]== goto :eof
if exist c:\%LastMonth%\*.* (
C:\programme\winrar\winrar.exe a -ep1 -r c:\%LastMonth%.rar c:\%LastMonth%\*.*
)
IF Errorlevel 1 (
echo RAR . %Errorlevel%
Goto :eof
)

Rd c:\%LastMonth% /s /q >nul
:: ---snapp MachMirDencarinthianwerewolfRarVomVormonat.bat

Geht denn dieser Montag gar nicht rum....?
Grüße Biber
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 16:39:36 Uhr
Goto Top
Also zu Beginn einmal:
Tut mir ja wirklich leid wenn dieser Montag auf Grund meiner lästigen Wenigkeit zu deinem Bedauern sich so lange hinauszieht.

Dann zum nächsten Punkt:
Ich hab jetzt diese Zeilen in eine .bat Datei geschrieben und irgendwie passiert da gar nix, wenn ich unter C: einen Ordner mit Namen März oder auch Maerz habe.

__________________________________________________________

echo wscript.echo monthname(datepart("m", dateAdd("m",-1, date())))>%temp%\lastmonth.vbs
For /f %%i in ('cscript //nologo %temp%\lastmonth.vbs') do set "LastMonth=%%i"
del %temp%\lastmonth.vbs
:: ##uncomment for Debug## echo LastMonth [%LastMonth%]
if [%LastMonth%]== goto :eof
if exist c:\%LastMonth%\*.*
__________________________________________________________

Also ich denke mir das darin irgendwo ein Fehler sein müsste da der Anfangs - und Endteil ja identisch zum vorhergehenden Programm sind.

Ich hoffe ich mache dir diesen Montag nicht zum miesesten seit langem face-smile

Wäre wirklich überaus hilfreich und nett und wunderbar wenn du mir unter Umständen nochmal weiterhelfen könntest

mfg carinthianwerewolf
Biber
Biber 24.04.2006 um 17:08:17 Uhr
Goto Top
Na, wir nähern uns doch dem Ende, hoffe ich...

- entkommentier bitte mal das "echo Lastmonth.." aus der Zeile ##uncomment ..bla ##
- lass Dir vom CMDPrompt aus anzeigen, welcher Monat ermittelt wird.
- wenn keiner... glaub ich nicht face-wink
- wenn "M}rz" oder ähnlich schräges-> dann ist es die falsche Codepage bei Dir.
->in diesem Fall am Anfang des Batches eine Zeile "CHCP 1252 >nul" einfügen.

-> oder, um festzustellen, ob die Umlaute das Problem sind, bitte oben in der 2. Zeile testweise ändern:
Von JETZT: dateAdd("m",-1, .... -->nimmt Monat -1
Zum Test: dateAdd("m",-2, .... -->nimmt Monat -2

...dann nimmt er den Februar bzw. den Vor-Vormonat...

Wenn das auch nicht klappt, sind die Umlaute unschuldig...

So ein @~##!!-Montag..... hoffentlich fängt nicht auch noch meine Sauce Hollandaise an zu stocken.. face-wink
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 17:20:02 Uhr
Goto Top
also wenn ich die .bat datei von cmd aus starte, wird

RAR . 1 ausgegeben
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 17:22:37 Uhr
Goto Top
aber kann man da nicht im vorherigen Programm einfach -1 oder so damit er den monat davor nimmt?

weil das programm hat ja von dem her super gefunk bis auf das falsche monat halt??!!

mfg
Biber
Biber 24.04.2006 um 17:34:48 Uhr
Goto Top
Also..wenn von WinRar der Errorlevel 1 zurückkommpt, dann kann möglicherweise WinRar keine Umlaute verarbeiten.
Denn wenn der Batch dort ankommt (bei "WinRar....bla...", dann hat er ja schon ein Verzeichnis %LastMonth% gefunden.

Bitte mal direkt am CMD-Prompt prüfen, ob WinRar ein Verzeichnis "März" verarbeiten bzw ein Archiv "März.rar" anlegen kann.

Das hab ich doch vor 20 Posts schon mal erwähnt, dass international konsensfähige Verzeichnisnamen wie "2006-03" eventuell sinnvoller wären als welche mit Umlauten..*hochscroll*

Klappt es denn mit "Februar" oder dem "April"? Ich hab doch nix hier zum Testen...
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 17:48:16 Uhr
Goto Top
Also:

Ich hab jetzt das Systemdatum auf Mai gestellt, und auf C: einen Ordner mit dem Namen April erstell. nachdem ich die .bat Datei mit cmd gestartet habe wurde

LastMonth [April]
RAR . 1

ausgegeben. Dasselbe geschah bei Systemdatum April und Ordner März nur eben LastMonth [März] RAR . 1

Nur es wurde der Ordner nicht gepackt und auch nicht danach gelöscht.

Ja wenn es mit dem komprimieren einfacher ist erstellen wir eben mit LabVIEW Ordner die nur Zahlen für die Monate vergeben
Biber
Biber 24.04.2006 um 18:04:53 Uhr
Goto Top
Na, ist doch prima! *positivdenk*

dann kann doch nur hier:
C:\programme\winrar\winrar.exe a -ep1 -r c:\%LastMonth%.rar c:\%LastMonth%\*.*

was in die Grütze (oder bei Euch: in den Palatschinken) gehen.

Gib doch mal die Zeile "aufgelöst" ein am CMD-Prompt:

C:\programme\winrar\winrar.exe a -ep1 -r c:\April.rar c:\April\*.*
-bzw-
C:\programme\winrar\winrar.exe a -ep1 -r c:\März.rar c:\März\*.*

und achte auf Fehlermeldungen.
vorletzter Schritt:
Am CMD-Prompt:

Set LastMonth=März
C:\programme\winrar\winrar.exe a -ep1 -r c:\%LastMonth%.rar c:\%LastMonth%\*.*

Das werden wir ja wohl noch fixen, bevor die Montagssonne untergeht...
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 18:20:14 Uhr
Goto Top
so nachdem ich die beiden Zeilen

C:\programme\winrar\winrar.exe a -ep1 -r c:\April.rar c:\April\*.*
-bzw-
C:\programme\winrar\winrar.exe a -ep1 -r c:\März.rar c:\März\*.*

direkt in cmd eingegeben habe, habe ich zwar bemerkt das für einen ms langen Augenblick Winrar aufgerufen wurde aber sich in C: nichts verändert hat bezüglich odner packen

Daraufhin hab ich in eine .bat datei C:\programme\winrar\winrar.exe a -ep1 -r c:\März.rar c:\März\*.* geschrieben und diese via cmd gestartet.

Daraufhin wurde C:\programme\winrar\winrar.exe a -ep1 -r c:\M~orz.rar c:\M~orz\*.* in cmd ausgegeben

Dasselbe gilt wenn ich

Set LastMonth=März
C:\programme\winrar\winrar.exe a -ep1 -r c:\%LastMonth%.rar c:\%LastMonth%\*.*

eingebe

Also hängts doch mit den Umlauten zusammen

Wärs einfacher wenn wir nicht die Monatsnamen nehmen sondern Zahlen für die Monate? Weil das is das geringste Problem das zu ändern.

mfg
Biber
Biber 24.04.2006 um 18:37:57 Uhr
Goto Top
Wärs einfacher wenn wir nicht die Monatsnamen nehmen sondern Zahlen für die Monate...

Jetzt, nach dem 30sten Ping-Pong-Post, auf einmal doch den leichteren Weg? jetzt will ich auch nicht mehr.. *beleidigtSchmoll*

Also- empfehlen würde ich diese "algorithmisch zuverlässigen" Verzeichnisnamen "YYYY-MM" oder ähnlich schon. Mag zwar nicht so ästhetisch aussehen, aber es soll ja eh nur ein Messdaten-Archivier-Batch-Schnipsel werden und dafür gibt es ja weder Dank noch Lob von Deinen Chefs und auch selten einen Pulitzerpreis.

Wenn Du das nicht ändern willst:
Dann bitte das Spielchen, was Du im Posting eben beschrieben hast, nochmal, aber erst (alles am CMD-Prompt):
CHCP
(sollte anzeigenface-smile
Aktive Codepage: 850.
-->Ändern auf
CHCP 1252

..und dann diesen Rar-Test nochmal.
Wenn es dann klappt, dann den "CHCP 1252" in das Bätschelchen einspeisen.

Lass Dir Zeit...dauert ja noch bis zur Abenddämmerung.

Und so geht wenigstens dieser Montag rum...
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 19:05:48 Uhr
Goto Top
Also was ma ander ganzen Sache einmal ganz unklar is, is das jetzt das alte überhauptnichtmehr funktioniert

face-sad
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 19:07:53 Uhr
Goto Top
@echo off & Setlocal

for /f "delims=. tokens=2" %%i in ("%date%") do Set "MM=%%i"

If [%MM%]==[01] set "AktMonat=Januar"
If [%MM%]==[02] set "AktMonat=Februar"
If [%MM%]==[03] set "AktMonat=Maerz"
If [%MM%]==[04] set "AktMonat=April"
If [%MM%]==[05] set "AktMonat=Mai"
If [%MM%]==[06] set "AktMonat=Juni"
If [%MM%]==[07] set "AktMonat=Juli"
If [%MM%]==[08] set "AktMonat=August"
If [%MM%]==[09] set "AktMonat=September"
If [%MM%]==[10] set "AktMonat=Oktober"
If [%MM%]==[11] set "AktMonat=November"
If [%MM%]==[12] set "AktMonat=Dezember"

Echo Aktmonat [%Aktmonat%]
Echo on

if exist c:\%Aktmonat%\*.* (
C:\programme\winrar\winrar.exe a -ep1 -r c:\%AktMonat%.rar c:\%AktMonat%\*.*
)

Das funkt jetzt nerma, obwohl haarscharf dasselbe is wie vorhin wos noch funktioniert hat
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 19:12:08 Uhr
Goto Top
Nichtmal wenn ich das in cmd eingebe funkts

C:\programme\winrar\winrar.exe a -ep1 -r c:\April.rar c:\April\*.*

Vorher is winrar mal abgfuckt, kann sein das es damit was zu tun hat? hab sogar nochmal neugstartet hmm......................

Werd mal neues WinRAR downloaden
Biber
Biber 24.04.2006 um 19:12:22 Uhr
Goto Top
?? Welches alte - wir hatten mehrere heute?

Wir können auch den ganz alten Kram reaktivieren mit

IF [%MM%]==[01] set "Aktmonat=Dezember"
IF [%MM%]==[02] set "Aktmonat=Januar"
...

Aber es wird sich noch wohl keiner von uns beiden von einer Handvoll Batchzeilen in die Knie zwingen lassen, oder?
Klappt doch schon mehr bei uns, als bei Vista jemals klappen wird..rein prozentual gesehen face-wink

[Edit] *Dem Werwölfchen mal einen Baldriantee aufsetz* [/Edit]
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 19:17:29 Uhr
Goto Top
Komische Sache.
Selbst nach Neuinstallation fruchtet das nicht mehr
Das Teil verarscht mich schon wieder face-smile
Biber
Biber 24.04.2006 um 19:22:25 Uhr
Goto Top
Ist denn überhaupt noch etwas da zum Archivieren?
Oder schon alle Ordner gepackt und gelöscht?
Liegen noch "alte" Zielarchive auf C:\, die noch mit einer anderen Codepage gepackt wurden?
Stell bitte erste wieder eine saubere Testumgebung her und pack mal irgendwas ein/aus vom CMD-Prompt.
Nach Deinem Baldriantee, mein ich.
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 19:24:33 Uhr
Goto Top
@echo off & Setlocal

for /f "delims=. tokens=2" %%i in ("%date%") do Set "MM=%%i"

If [%MM%]==[01] set "AktMonat=Dezember"
If [%MM%]==[02] set "AktMonat="Januar"
If [%MM%]==[03] set "AktMonat="Februar
If [%MM%]==[04] set "AktMonat="Maerz
If [%MM%]==[05] set "AktMonat="April
If [%MM%]==[06] set "AktMonat="Mai
If [%MM%]==[07] set "AktMonat="Juni
If [%MM%]==[08] set "AktMonat="Juli
If [%MM%]==[09] set "AktMonat="August
If [%MM%]==[10] set "AktMonat="September
If [%MM%]==[11] set "AktMonat="Oktober
If [%MM%]==[12] set "AktMonat="November

Echo Aktmonat [%Aktmonat%]
Echo on

if exist c:\%Aktmonat%\*.* (
C:\programme\winrar\winrar.exe a -ep1 -r c:\%AktMonat%.rar c:\%AktMonat%\*.*
)

So komischerweise bereitet er beim starten der Batch Datei die obigen Text beinhält Dateien zum packen vor (WinRAR) und hört nicht auf zum vorbereitetn 3000 dann hab ich abgebrochen.

In die Knie zwingen lassen nicht, aber da das koplett gleiche Programm bereits funktioniert hat, und jetzt aber nicht mehr frag ich mich schon......

Danke für den Baldriantee ;)
Biber
Biber 24.04.2006 um 19:29:11 Uhr
Goto Top
Upps... in diesem Source sind ein paar Anführungszeichen verrutscht/zuviel/zuwenig.

Richtig:
If [%MM%]==[01] set "AktMonat=Dezember"

...
Falsch gesetzt:
If [%MM%]==[04] set "AktMonat="Maerz

und andere...

Vielleicht ist es das...
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 20:09:56 Uhr
Goto Top
So, danke für den aufmerksamen Hinweis

Also ich habe jetzt unter C: 2 Ordner einen mit dem Namen April und den anderen mit Maerz

Weiters habe ich 2 .bat Dateien die eine mit Namen Ordner_packen_monatlich.bat und die andere mit Namen Ordner_packen_vormonatlich.bat

Inhalt - vormonatlich
If [%MM%]==[01] set "AktMonat=Dezember"
If [%MM%]==[02] set "AktMonat="Januar" ................

monatlich
If [%MM%]==[01] set "AktMonat=Januar"
If [%MM%]==[02] set "AktMonat=Februar".................

Wenn ich die beiden .bat Dateien von cmd aus starte wird in cmd

Aktmonat [April] bzw. d Aktmonat [Maerz] ausgegeben, aber es wird kein Ordner gepackt

Bei WinRAR ist zuvor ein zweimal ein Fehler aufgetreten aber normales packen von z.B. einer Datei oder Ordner funktioniert.

????
Biber
Biber 24.04.2006 um 20:21:47 Uhr
Goto Top
In solchen Fällen hilft nur:
- Rechner runterfahren
- eine Stunde etwas Nettes machen (Vorschlagsliste kann ich mailen)
- danach noch einmal die vorhandenen Sourcen anSCHAUen (nicht anstarten)
- das fehlende Leerzeichen ergänzen/den Tippfehler in Zeile 17 berichtigen
- Produktiv setzen
- drei Stunden was Nettes machen (erweiterte Vorschlagsliste kann ich mailen)

Im Ernst... das kann nur was banales sein - Du siehst es nur nicht, weil Du schon zu lange draufguckst.
Reiß Dich kurz los und mach in einer Stunde oder morgen weiter.

Ich werde dann auch hier sein.
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 20:27:22 Uhr
Goto Top
Ja werde deine Ratschläge beachten face-smile
Wird wahrscheinlich so sein wie du sagst face-smile
weil kann ja nicht sein, dass wenns bereits geklappt hat, das aus weiterem himmel nicht mehr geht.

In dem Sinne: Schönen Abend noch und bis morgen
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 20:32:46 Uhr
Goto Top
Also hab das mal einem Kollegen von mir geschickt und bei dem funkts aber

Also war alles richtig

hab 3 mal neugestartet und programmtechnisch passt das aber irgendwo im system muss da fehler sein z.B. winrar oder etwaiges

mfg
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 20:41:40 Uhr
Goto Top
So am Ende des doch ereignisreichen und aufschlussreichen tages ist zu sagen dass ich ein kompletter Id*** bin

Wenn nichts im Ordner drinnen ist gehts auch nicht

So werd dich dann wahrscheinlich morgen nicht mehr "quälen" ;)
Aber falls ich noch Probleme habe, hoffe ich doch ich kann mich an dich wenden

Danke für die wahnsinnig hilfreiche Unterstützung

mfg carinthianwerewolf
Biber
Biber 24.04.2006 um 20:49:31 Uhr
Goto Top
Na, einen Nackenschlag geb ich Dir noch mit in den Feierabend...*fg

Schau mal ein paar Postings weiter oben:

Ist denn überhaupt noch etwas da zum Archivieren?
Oder schon alle Ordner gepackt und gelöscht?
Liegen noch "alte" Zielarchive auf C:\, die noch mit einer anderen Codepage gepackt wurden?
Stell bitte erste wieder eine saubere Testumgebung her und pack mal irgendwas ein/aus vom CMD-Prompt.

*ganzbreitgrins*

Schönen Feierabend auch Dir
Biber
...und nächstes Mal machen wir mal einen Batch mit 30 Zeilen *feixxxxxxxxx
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 21:04:47 Uhr
Goto Top
Ja ich hab da bei gedacht ich habe nichts verändert, anscheinend doch face-sad(((

Aber eines wär da noch:

Für das Packen des Ordners des Vormonats

Rd c:\%LastMonth% /s /q >nul

funktioniert diese Zeile nicht

da dabei eine Meldung in cmd kommt

C:\DOKUME~1\CAINT~1\ANWEND~1\SYMANTEC\COMMON~1\Confid.log - Der Prozess kann nicht auf die Datei zugriefen, da sie von einem anderen Prozess verwendet wird

und irgendwas mit Micorsoft und Skype.......
Biber
Biber 24.04.2006 um 21:14:21 Uhr
Goto Top
Hmm, lass uns das morgen mal unter realistischen Bedingungen testen - in einer realistischen Verzeichnisstruktur.
Nicht mit Ordnern unter "C:\".

Wenn einmal aus Versehen die Variable %LastMonth% leer ist oder da (wie es Murphy's Gesetz will) "Windows" drinsteht, dann hast Du ein Problem, weiter mit mir zu chatten..*gg

Bitte erst weiter testen in einer sicheren Sandbox.
Also Laufwerk d:\BatchTest\2006\Januar, BatchTest\2006\Februar....etc

Schau mal nach draußen... den Montag haben wir doch fast geschafft - lass gut sein für heut.
carinthianwerewolf
carinthianwerewolf 24.04.2006 um 21:48:44 Uhr
Goto Top
Stimmt is schon dunkel aber das is ja nichts ungewöhnliches ;)

Ja für heut reichts, mehr als genug getan (mit tatkräftiger Unterstützung)

Also dann, bis dann ;)
carinthianwerewolf
carinthianwerewolf 25.04.2006 um 14:51:32 Uhr
Goto Top
Schönen guten Nachmittag Biber

Also erstens, was mir aufgefalen ist, ist das in dem Programm zum Packen des Ordners des Vormonats ist, das am Ende bei

Rd c:\Messdaten\2006\%AktMonat% /s /q >nul

anstatt %AktMonat% %LastMonth% drin war und as einen Fehler ausgelöst hat.
Die verursachte einen Fehler von Norton und Microsoft und löschte dabei einige wichtige ordner sobald die batch Datei gestartet wurde löschte

_________________________________________________________________

@echo off & Setlocal

for /f "delims=. tokens=2" %%i in ("%date%") do Set "MM=%%i"

If [%MM%]==[01] set "AktMonat=12"
If [%MM%]==[02] set "AktMonat=01"
If [%MM%]==[03] set "AktMonat=02"
If [%MM%]==[04] set "AktMonat=03"
If [%MM%]==[05] set "AktMonat=04"
If [%MM%]==[06] set "AktMonat=05"
If [%MM%]==[07] set "AktMonat=06"
If [%MM%]==[08] set "AktMonat=07"
If [%MM%]==[09] set "AktMonat=08"
If [%MM%]==[10] set "AktMonat=09"
If [%MM%]==[11] set "AktMonat=10"
If [%MM%]==[12] set "AktMonat=11"

Echo Aktmonat [%Aktmonat%]
Echo on

if exist c:\Messdaten\2006\%Aktmonat%\*.* (
C:\programme\winrar\winrar.exe a -ep1 -r c:\Messdaten\2006\%AktMonat%.rar c:\Messdaten\2006\%AktMonat%\*.*
)

IF Errorlevel 1 (
echo RAR . %Errorlevel%
Goto :eof
)
Rd c:\Messdaten\2006\%AktMonat% /s /q >nul
_____________________________________________________________________

Nun haba ich die Ordner in einer realistischen Umgebung so wie das Programm auch arbeiten soll. Die Monate wurden nun doch in Zahlen angegeben

Aber ich möchte nun noch wenn sich das Jahr ändert von z.B.: 2006 auf 2007
das sich der Ordner der dan geändert wird das sich das auch im Programm ändert

Habe beriets versucht anstatt dem Jahr 2006 %YYYY% anzugegebn, was aber nicht funktionierte.

Wäre wirklich super wenn du mir nochmals helfen könntest ;)

mfg carinthianwerewolf
Biber
Biber 25.04.2006 um 16:03:37 Uhr
Goto Top
Moin carinthianwerewolf,

na, da machen wir doch eine Variation des Themas von gestern...

Gestern war es LastMonth:
...
echo wscript.echo monthname(datepart("m", dateAdd("m",-1, date())))>%temp%\lastmonth.vbs  
For /f %%i in ('cscript //nologo %temp%\lastmonth.vbs') do set "LastMonth=%%i"  
del %temp%\lastmonth.vbs
...

Heute ist es  LastYear:
...
echo wscript.echo datepart("yyyy", dateAdd("y",-1, date()))>%temp%\lastyear.vbs  
For /f %%i in ('cscript //nologo %temp%\lastyear.vbs') do set "LastYear=%%i"  
del %temp%\lastyear.vbs
...
Ist zwar jetzt einfallslos und ohne sonderliche Eleganz, aber damit wir endlich mal fertig werden hier..*gg
..kopier die drei Zeilen nach dem Muster von gestern in den Batch und Dir steht zusätzlich die Variable %LastYear% zur Verfügung.

Grüße
Biber
P.S. Besteht eigentlich diese ganze Woche nur aus Montagen? face-wink
carinthianwerewolf
carinthianwerewolf 25.04.2006 um 18:22:12 Uhr
Goto Top
Danke für die Rückmeldung, aber es sieht folgendermaßen aus:

Es soll nich das letze jahr UND das letzte monat gepackt werden sondern:

Wenn jetzt Dezember 2006 wäre, sollte der Ordner November im Ordner 2006 gepackt werden
und wenn Januar 2007 wäre, sollte der Ordner Dezember im Ordner 2006 gepackt werden.

Ich hoffe es gibt da beim Jahreswechsel keine Probleme, dass wenn Januar 2007 ist und das dann der Dezemberordner vom Vorjahr gepackt werden sollte.

Mfg carinthianwerewolf

P.S.: Siehs mal positiv, wir sind fast am Ende ;)
Biber
Biber 25.04.2006 um 19:37:54 Uhr
Goto Top
Danke für die Rückmeldung,
...büdde.. face-wink
aber es sieht folgendermaßen aus:
...bei meinen Kidz hat es auch Monate gedauert, bis ich denen "aber..", "Hääh?" und "..geht.." abgewöhnen konnte.. *seufz*

Es soll nich das letze jahr UND das letzte monat gepackt werden sondern:

Nein, schon klar..
Wenn jetzt Dezember 2006 wäre, sollte der Ordner November im Ordner 2006 gepackt werden
und wenn Januar 2007 wäre, sollte der Ordner Dezember im Ordner 2006 gepackt werden.

Hört sich plausibel an...
Ich hoffe es gibt da beim Jahreswechsel keine Probleme, dass wenn Januar 2007 ist
und das dann der Dezemberordner vom Vorjahr gepackt werden sollte.
Das sehen wir nächstes Jahr...

Dann mach es so im Batch:
---> Immer das YYYY ermitteln, das zum Vormonat gehört.
@echo off & Setlocal
Set "MessdatenRoot=c:\Messdaten"       && ~~~~~~~~~~~~ neu  

for /f "delims=. tokens=2" %%i in ("%date%") do Set "MM=%%i"  

If [%MM%]==[01] set "AktMonat=12"  
If [%MM%]==[02] set "AktMonat=01"  
If ....

...
...
echo wscript.echo datepart("yyyy", dateAdd("m",-1, date())) >%temp%\aMonthago.vbs  
For /f %%i in ('cscript //nologo %temp%\aMonthAgo.vbs') do set "YYYYaMonthAgo=%%i"  
del %temp%\aMonthAgo.vbs

:: ~~~~ if exist c:\Messdaten\2006\%Aktmonat%\*.* (
Set "relevantesVerz=%Messdatenroot%\%YYYYaMonthAgo%\%AktMonat%"  
if Not exist %relevantesVerz%\*.* (
      Echo Verzeichnis %relevantesVerz% nicht gefunden.... Abbruch..nix sichern, nix löschen.
      goto :eof 
)
C:\programme\winrar\winrar.exe a -ep1 -r %relevantesVerz%.rar %relevantesVerz%\*.*

IF Errorlevel 1 (
echo RAR . %Errorlevel%
Goto :eof
)
Rd %relevantesVerz% /s /q >nul


P.S.: Siehs mal positiv, wir sind fast am Ende ;)

Na, bis ich am Ende bin, da können nur ein paar Zeilen kommen... face-wink

Schönen Abend
Biber
carinthianwerewolf
carinthianwerewolf 25.04.2006 um 20:06:06 Uhr
Goto Top
Schönen guten abend Biber

, also ich weiß ja nicht wies bei dir aussieht aber bei uns ist heut nichts mehr mit sonne face-sad (bezüglich tagesende ;) )

@echo off & Setlocal
Set "MessdatenRoot=c:\Messdaten"

for /f "delims=. tokens=2" %%i in ("%date%") do Set "MM=%%i"

If [%MM%]==[01] set "AktMonat=12"
If [%MM%]==[02] set "AktMonat=01"
If [%MM%]==[03] set "AktMonat=02"
If [%MM%]==[04] set "AktMonat=03"
If [%MM%]==[05] set "AktMonat=04"
If [%MM%]==[06] set "AktMonat=05"
If [%MM%]==[07] set "AktMonat=06"
If [%MM%]==[08] set "AktMonat=07"
If [%MM%]==[09] set "AktMonat=08"
If [%MM%]==[10] set "AktMonat=09"
If [%MM%]==[11] set "AktMonat=10"
If [%MM%]==[12] set "AktMonat=11"

Echo Aktmonat [%Aktmonat%]
Echo on

echo wscript.echo datepart("yyyy", dateAdd("m",-1, date())) >%temp%\aMonthago.vbs
For /f %%i in ('cscript //nologo %temp%\aMonthAgo.vbs') do set "YYYYaMonthAgo=%%i"
del %temp%\aMonthAgo.vbs

if exist c:\Messdaten\2006\%Aktmonat%\*.* (
Set "relevantesVerz=%Messdatenroot%\%YYYYaMonthAgo%\%AktMonat%"

if Not exist %relevantesVerz%\*.* (
Echo Verzeichnis %relevantesVerz% nicht gefunden.... Abbruch..nix sichern, nix löschen.
goto :eof
)

C:\programme\winrar\winrar.exe a -ep1 -r %relevantesVerz%.rar %relevantesVerz%\*.*

IF Errorlevel 1 (
echo RAR . %Errorlevel%
Goto :eof
)
Rd %relevantesVerz% /s /q >nul

So hab jetzt di .bat datei so editiert, dass das von dir genannte drin steht, aber tun tut sich nix dabei

Also ich weiß ja nicht genau wo der fehler liegt aber irgendwo ist ein fehler, und diesmal ist in den ordnern eine datei drin ;)

pfad: C:\Messdaten\2006\03*.*

mfg carinthianwerewolf
Biber
Biber 25.04.2006 um 20:16:03 Uhr
Goto Top
Ja...ich sehs auch..
...die if exist/if not exist abfrage ist natürlich doppelt gemoppelt und eine davon wollte ich auch gelöscht haben...
hab ich aber anscheinend nicht* zugeb
also einfach die Zeile ÜBER der Zeile 'Set "relevantesVerz=sülzdibülz..." LÖSCHEN.

...
Set "relevantesVerz=%Messdatenroot%\%YYYYaMonthAgo%\%AktMonat%"  

if Not exist %relevantesVerz%\*.* (
    Echo Verzeichnis %relevantesVerz% nicht gefunden.... Abbruch..nix sichern, nix löschen.
    goto :eof 
)
....

Mann, mann, wir werden noch zum Top-Beitrag im April, wenn wir weiterhin so viele Tippfehler machen. Die feixen sich schon alle einen..
Ich glaub, es wird für mich Zeit für einen Nickwechsel *gg

Grüße
Biber
carinthianwerewolf
carinthianwerewolf 25.04.2006 um 20:51:47 Uhr
Goto Top
Der Tag war bzw. ist wahrscheinlic schon wieder zu lang das mir das nicht aufgefallen ist face-smile

Jetzt sieht das ganze aus wie folgt:
___________________________________________________________
@echo off & Setlocal
Set "MessdatenRoot=c:\Messdaten"

for /f "delims=. tokens=2" %%i in ("%date%") do Set "MM=%%i"

If [%MM%]==[01] set "AktMonat=12"
If [%MM%]==[02] set "AktMonat=01"
If [%MM%]==[03] set "AktMonat=02"
If [%MM%]==[04] set "AktMonat=03"
If [%MM%]==[05] set "AktMonat=04"
If [%MM%]==[06] set "AktMonat=05"
If [%MM%]==[07] set "AktMonat=06"
If [%MM%]==[08] set "AktMonat=07"
If [%MM%]==[09] set "AktMonat=08"
If [%MM%]==[10] set "AktMonat=09"
If [%MM%]==[11] set "AktMonat=10"
If [%MM%]==[12] set "AktMonat=11"

Echo Aktmonat [%Aktmonat%]
Echo on

echo wscript.echo datepart("yyyy", dateAdd("m",-1, date())) >%temp%\aMonthago.vbs
For /f %%i in ('cscript nologo %temp%\aMonthAgo.vbs') do set "YYYYaMonthAgo=%%i"
del %temp%\aMonthAgo.vbs

if exist c:\Messdaten\2006\%Aktmonat%\*.* (
Set "relevantesVerz=%Messdatenroot%\%YYYYaMonthAgo%\%AktMonat%"

Echo Verzeichnis %relevantesVerz% nicht gefunden
goto :eof
)

C:\programme\winrar\winrar.exe a -ep1 -r %relevantesVerz%.rar %relevantesVerz%\*.*

IF Errorlevel 1 (
echo RAR . %Errorlevel%
Goto :eof
)
Rd %relevantesVerz% /s /q >nul
_________________________________________________________________

Was mir aufgefallen ist, ist das nicht einmal für eine winzig kurze zeit der winrar screen angezeigt wird.

Hab die .bat Datei mal von cmd aus gestartet und es wurde folgendes zurückgegeben

Aktmonat [03]

echo wscript.echo datepart("yyyy", dateAdd("m",-1, date())) >%temp%\aMonthago.vbs

For /f %%i in ('cscript
nologo %temp%\aMonthAgo.vbs') do set "YYYYaMonthAgo=%%i"

set "YYYYYaMonthAgo=2006"

del %temp%\aMonthAgo.vbs


if exist c:\Messdaten\2006\%Aktmonat%\*.* (
Set "relevantesVerz=%Messdatenroot%\%YYYYaMonthAgo%\%AktMonat%"

Echo Verzeichnis %relevantesVerz% nicht gefunden
goto :eof
)

Verzeichnis nicht gefunden

Hmmm...????

mfg carinthianwerewolf
Biber
Biber 25.04.2006 um 21:13:26 Uhr
Goto Top
Hmm..
mein letztes Posting hast Du aber schon gelesen, oder?
also einfach die Zeile ÜBER der Zeile 'Set "relevantesVerz=sülzdibülz..." LÖSCHEN.

Egal..noch mal die (ungetestete) Pre-Final-Version im Stück:
::------------snipp MachMirDenVormonatsRar.bat
@echo off & Setlocal
Set "MessdatenRoot=c:\Messdaten"  

for /f "delims=. tokens=2" %%i in ("%date%") do Set "MM=%%i"  

If [%MM%]==[01] set "AktMonat=12"  
If [%MM%]==[02] set "AktMonat=01"  
If [%MM%]==[03] set "AktMonat=02"  
If [%MM%]==[04] set "AktMonat=03"  
If [%MM%]==[05] set "AktMonat=04"  
If [%MM%]==[06] set "AktMonat=05"  
If [%MM%]==[07] set "AktMonat=06"  
If [%MM%]==[08] set "AktMonat=07"  
If [%MM%]==[09] set "AktMonat=08"  
If [%MM%]==[10] set "AktMonat=09"  
If [%MM%]==[11] set "AktMonat=10"  
If [%MM%]==[12] set "AktMonat=11"  

Echo Aktmonat [%Aktmonat%]
Echo on
:: Echo on kann raus, wenn es läuft....
echo wscript.echo datepart("yyyy", dateAdd("m",-1, date())) >%temp%\aMonthago.vbs  
For /f %%i in ('cscript //nologo %temp%\aMonthAgo.vbs') do set "YYYYaMonthAgo=%%i"  
del %temp%\aMonthAgo.vbs

REM ----wech mit DIESER ZEILE !! if exist c:\Messdaten\2006\%Aktmonat%\*.* (

Set "relevantesVerz=%Messdatenroot%\%YYYYaMonthAgo%\%AktMonat%"  
if Not exist %relevantesVerz%\*.* (
    Echo Verzeichnis %relevantesVerz% nicht gefunden oder leer!
    goto :eof 
)
Echo ##DEBUG## Nun rufe ich WinRar... %relevantesVerz% 
C:\programme\winrar\winrar.exe a -ep1 -r %relevantesVerz%.rar %relevantesVerz%\*.*

IF Errorlevel 1 (
echo RAR . %Errorlevel%
Goto :eof
)
Rd %relevantesVerz% /s /q >nul
::------------snapp MachMirDenVormonatsRar.bat

Mein Gott, wenn ich hochrechne, wie viele Jahre wir beiden für einen 100-Zeilen-Batch brauchen würden... face-wink

Grüße
Biber
carinthianwerewolf
carinthianwerewolf 25.04.2006 um 21:42:41 Uhr
Goto Top
Sorry mein fehler, ich war der ansicht ich hätte eine zeile gelöscht, hab ich also wahrscheinlich doch nicht face-smile weil jetzt funkts.

Naja abschließend zum 3 Tages Ausflus nach "Batch Datei WinRAR" möcht ich mich trotzdem nochmal für die suuuper unterstützung bedanken ;)

Ich hoffe ich habe deine Nerven nicht allzusehr strapaziert face-smile
Andernfalls tuts mir leid face-smile

Also eigentlich dürfte es von meiner seite her keinerlei Fragen bezüglich dem programm geben da es ja jetzt wunderbar funktioniert.

mfg carinthianwerewolf
Biber
Biber 25.04.2006 um 22:05:33 Uhr
Goto Top
Freut mich... wir lieben zufriedene Kunden hier in Bremen face-wink

...und das "..es funkt.." gewöhn ich Dir beim nächsten Batch ab.. "es funk-ti-o-niert.." wäre mir lieber *seufz*

Aber da kämpfe ich wohl gegen Windmühlen...

Und was die nervliche Belastung betrifft: gar nichts im Vergleich zu meiner Ex *gg

Grüße
Biber
carinthianwerewolf
carinthianwerewolf 26.04.2006 um 20:04:26 Uhr
Goto Top
Schönen guten Abend Biber ;)

Also aus zufriedenen Kunden kann es ja bald mal zu eher nicht so zufriedenen Kunden kommen.

Nur mal so eine Frage, aber kann es sein das diese Batch Datei Auswirkungen auf Offise oder dergleichen haben kann??
Weil nachdem ich heute zum 3ten Mal den Rechner neu aufgesetzt habe ist mir aufgefallen, das dies möglicherweise mit der Batch Datei in Verbindung stehen könnte.

Also habe zuerst alles normal installiert und da funktionierte WOrd auch noch ganz normal
Nachdem ich aber die Batch Datei ausgeführt habe dauerte das Öffnen eines Dokuments in etwa 10min was ja nicht so sehr zufriedenstellt.

Gestern war ich etwas ratlos warum das passiert sein könnte. Habe dann neu aufgesetzt und auf einmal waren durch Fehler von Norton Antivirus einige wichtige Ordner verschwunden

Habe dann heute nachmittag nochmal neu aufgesetzt und am Ende nach allen Installationen habe ich die Batch Datei ausgeführt und danach ist mir aufegfallen dass Word ewig lange zum Öffnen eines Dokumentes benötigt.

So jetzt nach dem 3mal neu aufsetzen bin ich voll und ganz am Ende und greife die Batch Datei solgane nicht an bis du mir erklärt hast was da los ist.

mfg carinthianwerewolf
carinthianwerewolf
carinthianwerewolf 26.04.2006 um 22:02:40 Uhr
Goto Top
Also im eigentlichen wollte ich dadurch frage, ob es sein kann das die Batch Datei irgendwelche Auswirkungen auf Microsoft Word hat????

Weil nach dem Ausführen der .bat Datei und der erfolgreichen Komprimierung des Ordners vom Vormonat dauerte das Öffnen einer Datei ~10min
Biber
Biber 27.04.2006 um 09:22:50 Uhr
Goto Top
Moin carinthianwerewolf,

die Batchdatei im zuletzt geposteten Zustand kann sicherlich keine derartigen Auswirkungen haben, da bin ich sicher.

Wahrscheinlicher ist, das einer der Testläufe auf Laufwerk C: (als die Fehlermeldungen kamen "...wird von anderem Prozess verwendet") etwas anderes gelöscht haben als geplant war.

Falls noch ein Platten-Image oder eine Sicherung von letzter Woche vorliegt, diese(s) zurückspielen.
Falls nicht, würde ich für dieses Office-Problem zuerst über Einstellungen->Software->Microsoft Office-> Ändern ->Reparieren gehen.

Grüße
Biber