Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Batch Datei WinRAR

Frage Microsoft Windows Tools

Mitglied: carinthianwerewolf

carinthianwerewolf (Level 1) - Jetzt verbinden

23.04.2006, aktualisiert 27.04.2006, 18263 Aufrufe, 61 Kommentare

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

Mit freundlichen Grüßen carinthianwerewolf
61 Antworten
Mitglied: miniversum
23.04.2006 um 11:22 Uhr
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
Bitte warten ..
Mitglied: carinthianwerewolf
23.04.2006 um 12:47 Uhr
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.

Mit freundlichen Grüßen carinthianwerewolf
Bitte warten ..
Mitglied: Biber
23.04.2006 um 14:23 Uhr
..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
Bitte warten ..
Mitglied: carinthianwerewolf
23.04.2006 um 15:06 Uhr
Komisch

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 ;)

Mit freundlichen Grüßen carinthianwerewolf
Bitte warten ..
Mitglied: Biber
23.04.2006 um 16:18 Uhr
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:
01.
....(im Batch) 
02.
for /f "delims=. tokens=2" %%i in ("%date%") do Set "MM=%%i" 
03.
If [%MM%]==[01] set "AktMonat=Januar" 
04.
If [%MM%]==[02] set "AktMonat=Februar" 
05.
... 
06.
If [%MM%]==[12] set "AktMonat=Dezember" 
07.
if exist c:\%Aktmonat%\*.* ( 
08.
C:\programme\winrar\winrar.exe a -ep1 -r c:\%AktMonat%.rar c:\%AktMonat%\*.* 
09.
)
Aber dennoch..bei den wackeligen Vorgaben würde ich es manuell machen.

Gruß
Biber
Bitte warten ..
Mitglied: carinthianwerewolf
23.04.2006 um 17:09 Uhr
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??

Mit freundlichen Grüßen carinthianwerewolf
Bitte warten ..
Mitglied: Biber
23.04.2006 um 17:42 Uhr
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
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 11:41 Uhr
Schönen guten Tag.

Also ich hab jetzt erstmal die obigen Zeilen übernommen und alle Monate inkludiert.
Aber irgendwie funktioniert das noch so recht
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.

Mit freundlichen Grüßen carinthianwerewolf
Bitte warten ..
Mitglied: Biber
24.04.2006 um 12:05 Uhr
<-------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
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 12:32 Uhr
Schönen guten Tag wiedermal

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

Mit freundlichen Grüßen carinthianwerewolf
Bitte warten ..
Mitglied: Biber
24.04.2006 um 12:45 Uhr
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
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 12:53 Uhr
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.

Mit freundlichen Grüßen carinthianwerewolf
Bitte warten ..
Mitglied: Biber
24.04.2006 um 12:59 Uhr
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%\*.*
)
::----------
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 13:37 Uhr
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.

Mit freundlichen Grüßen carinthianwerewolf
Bitte warten ..
Mitglied: Biber
24.04.2006 um 13:52 Uhr
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
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 14:25 Uhr
Also der name hat schon seinen sinn carinthian für kärntner (bundesland in Ö) und werewolf

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

Mit freundlichen Grüßen carinthianwerewolf
Bitte warten ..
Mitglied: Biber
24.04.2006 um 14:39 Uhr
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
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 15:03 Uhr
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

Mit freundlichen Grüßen carinthianwerewolf
Bitte warten ..
Mitglied: Biber
24.04.2006 um 15:24 Uhr
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
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 15:45 Uhr
Jawoll, danke jetzt funktionierts endgültig wie gewollt.

Danke für deine Bemühungen und Hilfestellungen.

Ja wer mag schon Montage ?!

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

Mit freundlichen Grüßen carinthianwerewolf
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 15:47 Uhr
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

Vielleicht könntest mir da ja nochmal weiterhelfen?
Bitte warten ..
Mitglied: Biber
24.04.2006 um 16:23 Uhr
*eherSpringIchLachendInDieKreissägeBevorIchMontagsNochmalVersucheFragenZuBeantworten....*
*grummelbrummelbrummelfluchundschimpf*

Wir machen das jetzt anders - mit diesen Zeilen:
01.
:: ---snipp MachMirDenCarinthianwerewolfRarVomVormonat.bat 
02.
@echo off & setlocal 
03.
echo wscript.echo monthname(datepart("m", dateAdd("m",-1, date())))>%temp%\lastmonth.vbs 
04.
For /f %%i in ('cscript //nologo %temp%\lastmonth.vbs') do set "LastMonth=%%i" 
05.
del %temp%\lastmonth.vbs 
06.
:: ##uncomment for Debug## echo LastMonth [%LastMonth%] 
07.
if [%LastMonth%]==[] goto :eof 
08.
if exist c:\%LastMonth%\*.* ( 
09.
C:\programme\winrar\winrar.exe a -ep1 -r c:\%LastMonth%.rar c:\%LastMonth%\*.* 
10.
11.
IF Errorlevel 1 ( 
12.
echo RAR . %Errorlevel% 
13.
Goto :eof 
14.
15.
 
16.
Rd c:\%LastMonth% /s /q >nul 
17.
:: ---snapp MachMirDencarinthianwerewolfRarVomVormonat.bat
Geht denn dieser Montag gar nicht rum....?
Grüße Biber
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 16:39 Uhr
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

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

Mit freundlichen Grüßen carinthianwerewolf
Bitte warten ..
Mitglied: Biber
24.04.2006 um 17:08 Uhr
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
- 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..
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 17:20 Uhr
also wenn ich die .bat datei von cmd aus starte, wird

RAR . 1 ausgegeben
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 17:22 Uhr
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??!!

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: Biber
24.04.2006 um 17:34 Uhr
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...
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 17:48 Uhr
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
Bitte warten ..
Mitglied: Biber
24.04.2006 um 18:04 Uhr
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...
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 18:20 Uhr
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.

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: Biber
24.04.2006 um 18:37 Uhr
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 anzeigen
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...
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 19:05 Uhr
Also was ma ander ganzen Sache einmal ganz unklar is, is das jetzt das alte überhauptnichtmehr funktioniert

Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 19:07 Uhr
@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
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 19:12 Uhr
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
Bitte warten ..
Mitglied: Biber
24.04.2006 um 19:12 Uhr
?? 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

[Edit] *Dem Werwölfchen mal einen Baldriantee aufsetz* [/Edit]
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 19:17 Uhr
Komische Sache.
Selbst nach Neuinstallation fruchtet das nicht mehr
Das Teil verarscht mich schon wieder
Bitte warten ..
Mitglied: Biber
24.04.2006 um 19:22 Uhr
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.
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 19:24 Uhr
@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 ;)
Bitte warten ..
Mitglied: Biber
24.04.2006 um 19:29 Uhr
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...
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 20:09 Uhr
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.

????
Bitte warten ..
Mitglied: Biber
24.04.2006 um 20:21 Uhr
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.
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 20:27 Uhr
Ja werde deine Ratschläge beachten
Wird wahrscheinlich so sein wie du sagst
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
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 20:32 Uhr
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

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 20:41 Uhr
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

Mit freundlichen Grüßen carinthianwerewolf
Bitte warten ..
Mitglied: Biber
24.04.2006 um 20:49 Uhr
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
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 21:04 Uhr
Ja ich hab da bei gedacht ich habe nichts verändert, anscheinend doch (((

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.......
Bitte warten ..
Mitglied: Biber
24.04.2006 um 21:14 Uhr
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.
Bitte warten ..
Mitglied: carinthianwerewolf
24.04.2006 um 21:48 Uhr
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 ;)
Bitte warten ..
Mitglied: carinthianwerewolf
25.04.2006 um 14:51 Uhr
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 ;)

Mit freundlichen Grüßen carinthianwerewolf
Bitte warten ..
Mitglied: Biber
25.04.2006 um 16:03 Uhr
Moin carinthianwerewolf,

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

Gestern war es LastMonth:
01.
... 
02.
echo wscript.echo monthname(datepart("m", dateAdd("m",-1, date())))>%temp%\lastmonth.vbs 
03.
For /f %%i in ('cscript //nologo %temp%\lastmonth.vbs') do set "LastMonth=%%i" 
04.
del %temp%\lastmonth.vbs 
05.
... 
06.
 
07.
Heute ist es  LastYear: 
08.
... 
09.
echo wscript.echo datepart("yyyy", dateAdd("y",-1, date()))>%temp%\lastyear.vbs 
10.
For /f %%i in ('cscript //nologo %temp%\lastyear.vbs') do set "LastYear=%%i" 
11.
del %temp%\lastyear.vbs 
12.
...
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?
Bitte warten ..
Mitglied: carinthianwerewolf
25.04.2006 um 18:22 Uhr
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.

Mit freundlichen Grüßen carinthianwerewolf

P.S.: Siehs mal positiv, wir sind fast am Ende ;)
Bitte warten ..
Mitglied: Biber
25.04.2006 um 19:37 Uhr
Danke für die Rückmeldung,
...büdde..
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.
01.
@echo off & Setlocal 
02.
Set "MessdatenRoot=c:\Messdaten"       && ~~~~~~~~~~~~ neu 
03.
 
04.
for /f "delims=. tokens=2" %%i in ("%date%") do Set "MM=%%i" 
05.
 
06.
If [%MM%]==[01] set "AktMonat=12" 
07.
If [%MM%]==[02] set "AktMonat=01" 
08.
If .... 
09.
 
10.
... 
11.
... 
12.
echo wscript.echo datepart("yyyy", dateAdd("m",-1, date())) >%temp%\aMonthago.vbs 
13.
For /f %%i in ('cscript //nologo %temp%\aMonthAgo.vbs') do set "YYYYaMonthAgo=%%i" 
14.
del %temp%\aMonthAgo.vbs 
15.
 
16.
:: ~~~~ if exist c:\Messdaten\2006\%Aktmonat%\*.* ( 
17.
Set "relevantesVerz=%Messdatenroot%\%YYYYaMonthAgo%\%AktMonat%" 
18.
if Not exist %relevantesVerz%\*.* ( 
19.
      Echo Verzeichnis %relevantesVerz% nicht gefunden.... Abbruch..nix sichern, nix löschen. 
20.
      goto :eof  
21.
22.
C:\programme\winrar\winrar.exe a -ep1 -r %relevantesVerz%.rar %relevantesVerz%\*.* 
23.
 
24.
IF Errorlevel 1 ( 
25.
echo RAR . %Errorlevel% 
26.
Goto :eof 
27.
28.
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...

Schönen Abend
Biber
Bitte warten ..
Mitglied: carinthianwerewolf
25.04.2006 um 20:06 Uhr
Schönen guten abend Biber

, also ich weiß ja nicht wies bei dir aussieht aber bei uns ist heut nichts mehr mit sonne (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*.*

Mit freundlichen Grüßen carinthianwerewolf
Bitte warten ..
Mitglied: Biber
25.04.2006 um 20:16 Uhr
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.

01.
... 
02.
Set "relevantesVerz=%Messdatenroot%\%YYYYaMonthAgo%\%AktMonat%" 
03.
 
04.
if Not exist %relevantesVerz%\*.* ( 
05.
    Echo Verzeichnis %relevantesVerz% nicht gefunden.... Abbruch..nix sichern, nix löschen. 
06.
    goto :eof  
07.
08.
....
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
Bitte warten ..
Mitglied: carinthianwerewolf
25.04.2006 um 20:51 Uhr
Der Tag war bzw. ist wahrscheinlic schon wieder zu lang das mir das nicht aufgefallen ist

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...????

Mit freundlichen Grüßen carinthianwerewolf
Bitte warten ..
Mitglied: Biber
25.04.2006 um 21:13 Uhr
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:
01.
::------------snipp MachMirDenVormonatsRar.bat 
02.
@echo off & Setlocal 
03.
Set "MessdatenRoot=c:\Messdaten" 
04.
 
05.
for /f "delims=. tokens=2" %%i in ("%date%") do Set "MM=%%i" 
06.
 
07.
If [%MM%]==[01] set "AktMonat=12" 
08.
If [%MM%]==[02] set "AktMonat=01" 
09.
If [%MM%]==[03] set "AktMonat=02" 
10.
If [%MM%]==[04] set "AktMonat=03" 
11.
If [%MM%]==[05] set "AktMonat=04" 
12.
If [%MM%]==[06] set "AktMonat=05" 
13.
If [%MM%]==[07] set "AktMonat=06" 
14.
If [%MM%]==[08] set "AktMonat=07" 
15.
If [%MM%]==[09] set "AktMonat=08" 
16.
If [%MM%]==[10] set "AktMonat=09" 
17.
If [%MM%]==[11] set "AktMonat=10" 
18.
If [%MM%]==[12] set "AktMonat=11" 
19.
 
20.
Echo Aktmonat [%Aktmonat%] 
21.
Echo on 
22.
:: Echo on kann raus, wenn es läuft.... 
23.
echo wscript.echo datepart("yyyy", dateAdd("m",-1, date())) >%temp%\aMonthago.vbs 
24.
For /f %%i in ('cscript //nologo %temp%\aMonthAgo.vbs') do set "YYYYaMonthAgo=%%i" 
25.
del %temp%\aMonthAgo.vbs 
26.
 
27.
REM ----wech mit DIESER ZEILE !! if exist c:\Messdaten\2006\%Aktmonat%\*.* ( 
28.
 
29.
Set "relevantesVerz=%Messdatenroot%\%YYYYaMonthAgo%\%AktMonat%" 
30.
if Not exist %relevantesVerz%\*.* ( 
31.
    Echo Verzeichnis %relevantesVerz% nicht gefunden oder leer! 
32.
    goto :eof  
33.
34.
Echo ##DEBUG## Nun rufe ich WinRar... %relevantesVerz%  
35.
C:\programme\winrar\winrar.exe a -ep1 -r %relevantesVerz%.rar %relevantesVerz%\*.* 
36.
 
37.
IF Errorlevel 1 ( 
38.
echo RAR . %Errorlevel% 
39.
Goto :eof 
40.
41.
Rd %relevantesVerz% /s /q >nul 
42.
::------------snapp MachMirDenVormonatsRar.bat
Mein Gott, wenn ich hochrechne, wie viele Jahre wir beiden für einen 100-Zeilen-Batch brauchen würden...

Grüße
Biber
Bitte warten ..
Mitglied: carinthianwerewolf
25.04.2006 um 21:42 Uhr
Sorry mein fehler, ich war der ansicht ich hätte eine zeile gelöscht, hab ich also wahrscheinlich doch nicht 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
Andernfalls tuts mir leid

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

Mit freundlichen Grüßen carinthianwerewolf
Bitte warten ..
Mitglied: Biber
25.04.2006 um 22:05 Uhr
Freut mich... wir lieben zufriedene Kunden hier in Bremen

...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
Bitte warten ..
Mitglied: carinthianwerewolf
26.04.2006 um 20:04 Uhr
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.

Mit freundlichen Grüßen carinthianwerewolf
Bitte warten ..
Mitglied: carinthianwerewolf
26.04.2006 um 22:02 Uhr
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
Bitte warten ..
Mitglied: Biber
27.04.2006 um 09:22 Uhr
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
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Ä in batch Datei (12)

Frage von BergEnte zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...