winlin
Goto Top

Beim ausführen einer Batch kopien von Files erstellen

Hallo Leute,

vorkurzem habe ich in einem Post gesehen das einer ne Lösung gesucht hat um kopien von logfiles (inkl. Datum und Uhrzeit) zu erstellen. Das hätte ich gerne auch für etwas nur bin ich Batch Neuling und benötige das auch nur einmalface-smile) Habe auch schon bibers Batch for runaways gelesen...naja irgendwie komm ich nicht zurecht.

Ich möchte folgendes machen:
1. Ich möchte, immer wenn ich ein BackupBatch ausführe das meine logfiles mit Datum und Uhrzeit an den filenamen angehängt werden....
ALSO:
Quelle---> C\Prgal\license.log
ZIEL---> C:\BACKUP\license.log.20100810_16:40:00

Geht das ungefähr so:

REM Datumsvariablen systemspezifisch aufbereiten
if %windir%==C:\WINDOWS for /f "tokens=1-3 delims=. " %%a in ('date /t') do set dd=%%a&set mm=%%b&set yyyy=%%c  
if %windir%==C:\WINDOWS for /f "tokens=1-2 delims=:" %%a in ('time /t') do set hh=%%a&set mi=%%b  

xcopy C:\Prgal\license.log C:\BACKUP\license.log
renC:\BACKUP\license.logg license.log%%hh%%-%%mi%%
....

Content-Key: 148729

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

Printed on: April 19, 2024 at 12:04 o'clock

Member: Biber
Biber Aug 10, 2010 at 15:59:35 (UTC)
Goto Top
Moin winlin,

willkommen im Forum.

Natürlich bekommst du hier Hilfe und (wenn du darauf bestehst) auf Antworten auf exakt die Frage, die du gestellt hast.

Dennoch - vorher versuche ich noch mal, dich davon abzubringen. face-wink

--> Kein guter Plan.

XCopy (und die ganzen anderen xy--robo-usw-copy-Befehle haben zwei sehr nützliche Features, die der normale Copy-Befehl nicht per se mitbringt.

a) das offensichtliche... die kopieren eben auch eine Unterverzeichnisstruktur, nicht nur explizit von Quellverzeichnis nach Zielverzeichnis.
b) und genau so nützlich: die können alle kopieren nur die älteren/die nicht vorhandenen/die vorhandenen/die geänderten... Dateien.

Das zweite Feature - nämlich das du doch nicht jedesmal alle 140000 Dateien nochmal sichern musst, weil sich zwei Dateien geändert haben- das hebelst du aus.

Du machst mit deiner Mimik
  • jedesmal eine Komplettsicherung und
  • hast hinterher außerdem "Datei A" und "Eins-zu-Eins-Kopie von Datei A" unter verschiedenen Namen vorliegen.
  • und - mal zwei Wochen weiter denken... sobald du mal eine Datei "DeineDatei.xyz-2010-08-10_111213" sicherst--> die heisst dann ""MeineDatei.xyz-2010-08-10_111213_2010-08-11_202122". Da wirst du relativ schnell albern bei.

--> Ich würde den Plan ändern auf
  • entweder alles "VOLL" sichern in ein Backup-Verzeichnis mit Tagesdatum (z.B. F:\Backups\2010\2010-08-10_111213), aber Dateinamen_neu bleiben gleich Dateinamen_alt
  • oder alles INKREMENTELL (nur die geänderten Dateien sichern in ein Backup-Verzeichnis mit Kennzeichen "Inkrementell"+Tagesdatum); Dateinamen bleiben
  • oder alles sichernswerte zusammenzippen in einen Datenklumpen mit Tagesdatum; Originaldateinamen bleiben
  • .... (oder 34 andere beliebte Varianten einer Sicherung)

--> auf jeden Fall erstmal die Strategie überdenken.

Grüße
Biber
Mitglied: 60730
60730 Aug 10, 2010, updated at Oct 18, 2012 at 16:43:06 (UTC)
Goto Top
auch von mir ein Hello - come in and find out.

Was ich aber mal loswerden muß - ist:
(OT)
  • Endlich mal ein "Neuer" - der
  • eine Zeile des Grußes für uns übrig hat (wobei das ja viele jungspundalthasen auch nicht können)
  • codeblöcke ohne mit dem Finger drauf zu zeigen
  • funktionierende Shift Taste
  • kein @€cho off im Testlabor

Ja ist denn schon wieder Weihnachten?

(/OT)

@Biber - ich widerschreibe dir ja höchst ungern, aber er will doch nur die (das eine) logfile wegsichern.

Im Prinzip gebe ich Biber recht und wegen Strategie überdenken - such hier mal nach 7zip Kommandzeile Datum.
Ist wahrscheinlich für eine txt Datei die gesammelt werden soll - der platzsparendste Weg.
- Zeitgesteuerte zippen von Dateien durch batch

PS: "Time/T" kann nur Stunde-minute - du müsstest via echo %time% arbeiten, wenn du die sekunden dazu haben willst.
ungetestet
if %windir%==C:\WINDOWS (
			for /f "tokens=1-3 delims=. " %%a in ('date /t') do set dd=%%a & set mm=%%b & set yyyy=%%c  
			for /f "tokens=1,2,3 delims=: " %%a in ('echo %time%') do set hh=%%a & set mi=%%b & set sec=%%c  
)

If "%dd%"=="" echo schit happens  

gruß
Member: Biber
Biber Aug 10, 2010 at 16:49:06 (UTC)
Goto Top
Uuuuuuuuupps, T-Mo,

sorry,du hast vollkommen Recht....
Ich sollte mir abgewöhnen, geleichzeitig zu telefonieren und zu tippseln.

Okay, jetzt bin ich zwar fertig mit Telefonieren - aber ichweiss wieder mal nicht, wo ich mein Tipp-Ex hingelegt habe.
Sonst würde meinen Kommentar oben etwas editieren.

Okay - ich mach mal einfach nach dem "-->Kein guter Plan" weiter, als wäre nix gewesen....

... 
xcopy C:\Prgal\license.log C:\BACKUP\license.log 

ren C:\BACKUP\license.logg license.log%%hh%%-%%mi%% 
--> Kein guter Plan.
Erstens wird er die "C:\BACKUP\license.logg" mit zwei "g" am Ende nicht finden und rumwinseln
Zweitens haben dann immer die License.logs das Datum/meinetwegen die Uhrzeit des Sicherns. Nicht aber ihr eigenes.

Das heißt auch hier (wie oben ausgeführt)--> u.U. sicherst du 200x dieselbe License.log-Datei.

Aber das steigert den Nutz- oder Brennwert ja nicht automatisch um das 200fache.

--> Ich würde das Datei-Datum der Logdatei anhängen und diese Datei dann sichern, wenn es genau diesen Stand/diesen Dateinamen noch nicht gibt.

Grüße
Biber
Mitglied: 60730
60730 Aug 10, 2010 at 18:06:10 (UTC)
Goto Top
Zitat von @Biber:
Uuuuuuuuupps, T-Mo,

sorry,du hast vollkommen Recht....
Ich sollte mir abgewöhnen, geleichzeitig zu telefonieren und zu tippseln.
Wieso, fängt doch beides mit T an face-wink
Okay, jetzt bin ich zwar fertig mit Telefonieren - aber ich weiss wieder mal nicht, wo ich mein Tipp-Ex hingelegt habe.
Auf meinem Monitor...
Sonst würde meinen Kommentar oben etwas editieren.
Erstens wird er die "C:\BACKUP\license.logg" mit zwei "g" am Ende nicht finden und rumwinseln
Zweitens haben dann immer die License.logs das Datum/meinetwegen die Uhrzeit des Sicherns. Nicht aber ihr eigenes.
for /f "tokens=1-3 delims=. " %%a in ('dir C:\BACKUP\license.log^|findstr "log"') do (  
              if not exist C:\BACKUP\license-%%a-%%b-%%c.log copy C:\Prgal\license.log C:\BACKUP\license-%%a-%%b-%%c.log
)

--> Ich würde das Datei-Datum der Logdatei anhängen und diese Datei dann sichern, wenn es genau diesen Stand/diesen Dateinamen noch nicht gibt.
face-wink
und warum "machste das nicht? -schonwiederdieohrenamhörer -duck-flitz

Grüße
Biber
retour
Member: winlin
winlin Aug 11, 2010 at 08:47:32 (UTC)
Goto Top
Hallo Timo, Hallo Biber!

also erst mal ein Riesen Dankeschön für eure Posts, da sieht man das Profis am Werk sindface-smile Ich will euch mal den Hintergrund erklären was ich genau machen will und möglicherweise ergibt sich danach eine ganz andere Lösungsfindung.

Ich habe Windows Services die auf einem Server laufen. Es handelt sich dabei um Flexlm-Lizenzdienste. Die Services wurden alle mit LMTools installiert und die Vendor Daemons, Lizenzdateien und die Log-Files befinden sich alle unter C:\flexlm\lizenzdienstname.

Wenn der Lizenzdienst gestoppt/gestartet werden muss (mache ich mit einer batch), soll die Log-File gesichert werden, da diese beim nächsten Start des Lizenzdienstes neu angelegt wird bzw. die Einträge die zuvor drin waren sind dann alle weg. Dieses starten/stoppen passiert nicht regelmässig, nur wenn es mal passiert dann soll die Logfile mit dem namen license.log gesichert werden im selben Verzeichnis und am besten mit Datum/Uhrzeit kopiert werden. Mit der Sicherung dieser Log-File stellen wir sicher das wir noch in alte Logs reinschauen können, falls das mal nötig sein sollte.

So und meine Idee war in mein Services-starten/stoppen-Batch etwas einzubauen das mir nach dem stoppen/starten des Lizenzdienstes eine Sicherung der aktuellen Log-File macht und Sie im selben Ordner ablegt (mit Datum/Uhrzeit).

So nun die Frage an euch - wie würdet ihr das am besten machen? Wichtig ist:
1. Die neu gesicherte Log-File mit Datum/Uhrzeit muss im selben Verzeichnis liegen wie die license.log
2. Die Batch-Codezeilen müssen im starten/stoppen Batch eingebunden werden die dann nach dem starten/stoppen eben diese neue Log anlegt.

Also starten/stoppen mache ich mit der Batch:
echo Windows Services:
dir C:\flexlm\ /b /AD
SET /p service=Bitte geben Sie den Service ein den Sie starten wollen:
dir C:\flexlm\ /S /AD |find /i "%service%"&& goto start  
goto error
:start
sc \\server01 start "%service%"  
sc \\server02 start "%service%"  
sc \\server03 start "%service%"  

Hier möchte ich nun Codezeilen einbauen die mir eben die eigentliche license.log aus C:\flexlm\%service% mit Datum/Uhrzeit nach C:\flexlm\%service% kopiert.
Mitglied: 60730
60730 Aug 11, 2010 at 15:52:52 (UTC)
Goto Top
Salü,

ich weiss - ich bin pingelig...
Ich habe Windows Services die auf einem Server laufen.
passt doch nicht zu den drei sc Befehlen....

Im Prinzip würde ich auf jedem der Server den Ordner, wo sich das log aufhält eine Freigabe einrichten.
Am liebsten mit nem $ dahinter, dann tauchts bei den klickibuntinetzwerkdurchsuchenden Usern nicht auf.

echo Windows Services:
dir C:\flexlm\ /b /AD
SET /p service=Bitte geben Sie den Service ein den Sie starten wollen:
dir C:\flexlm\ /S /AD |find /i "%service%"&& goto start  
goto error

::backup
for /f "tokens=1-3 delims=. " %%a in ('dir \\%1\c$\backup\license.log^|findstr "log"') do (  
              if not exist %1\c$\backup\license-%%a-%%b-%%c.log copy %1\c$\Prgal\license.log %1\c$\backup\license-%%a-%%b-%%c.log
)
goto :eof

:start
call :backup server01
sc \\server01 start "%service%"  

call :backup server02
sc \\server02 start "%service%"  

call :backup server03
sc \\server03 start "%service%"  

goto end
:error

:end
pi mal daumen ungetestet und aus dem Bauch raus. ganz sicher mit verbesserungspotential.

Gruß
Member: winlin
winlin Aug 12, 2010 at 08:58:28 (UTC)
Goto Top
Servus Ihr Timo, Biber sowie alle anderen Userface-smile

also mit dem folgendem Skript kann ich beim starten der Windows Services eine Kopie der aktuellen licnese.log machen die dann das Format hat: license-12-08-2010. Ach ja und nochwas ich benötige das ganze mit den Sicherungen nur auf dem Hauptserver server01!

Ich würde sehr gerne noch die Uhrzeit hinzufügen, da es mal passieren kann das aus irgendeinem Grund ich den Service mehrmals am Tag starten muss - Mit dem u.g. Skript macht er dann nichts mehr da die log-Files bereits bestehen. Wenn ich aber die Uhrzeit hinzufüge wäre das kein Problem. Stunde und Minute reicht mir aus, cool wäre halt mit hh:mm:sec

echo Windows Services:
dir C:\flexlm\ /b /AD
SET /p service=Bitte geben Sie den Service ein den Sie starten wollen:
dir C:\flexlm\ /S /AD |find /i "%service%"&& goto start  
goto error

:backup
for /f "tokens=1-3 delims=. " %%a in ('dir \\server01\C$\flexlm\%service%\license.log^|findstr "log"') do (  
              if not exist \\server01\C$\flexlm\%service%\license-%%a-%%b-%%c.log copy \\server01\C$\flexlm\%service%\license.log \\server01\C$\flexlm\%service%\license-%%a-%%b-%%c.log
)
goto :eof

:start
sc \\server01 start "%service%"  
sc \\server02 start "%service%"  
sc \\server03 start "%service%"  

goto end
:error

:end
PAUSE
Member: winlin
winlin Aug 12, 2010 at 13:58:55 (UTC)
Goto Top
Hey Biberface-smile

also erst mal Dankescheeeeeeeen für dein Feedback. Denkst du das ich mit. dem u.g. Skript gut da steheface-smile ???? Wenn ich noch zu meinem Datumsformat die Uhrzeit hinzufügen will, was kommt noch hinzu?

Grüssle

winlin
Member: Biber
Biber Aug 12, 2010 at 16:30:36 (UTC)
Goto Top
Moin winlin,

wenn du zu dem Tagesdatum noch die Uhrzeit ergänzen willst ist es nicht soo schwierig.
Am besten, du testest es mal trocken am CMD-Prompt.

Momentan nimmst du ja jetzt eine (die relevante) Zeile aus einer normalen DIR-Ausgabe, die meinetwegen so aussieht
...{ hier sagtest du "Dir \\server\share\XY\license.log, unten kommt unter anderem dann so eine Zeile:}
08.08.10  18:34                2.147 license.log
-> Bisher zerlegst du diese Zeile mit einer FOR/F-Anweisung mit "tokens=1-3 delims=. ".
Also im ganzen Satz:
ich will die Zeile zerbröseln an den Trennzeichen Punkt und Leerzeichen und will die Brösel 1 (=Tag) ,2 (=Monat) und 3 (=Jahr) .

Was du jetzt als nächstes machen willst ist:
ich will die Zeile zerbröseln an den Trennzeichen Punkt und Doppelpunkt und Leerzeichen und will die Brösel 1, 2, 3 (=Tag. Monat, jahr wie oben) ,4 (=Stunde) und 5 (=sagichnich).

Simulation am CMD-Prompt (erste Zeile:ist die eingegebene; ">" NICHT mit eingeben; ist mein Prompt)
>for /f "tokens=1-5 delims=.: " %a in ("08.04.10  18:34  47 license.log") do @echo license%a-%b-%c_%d%e.log
license08-04-10_1834.log

Der Text in der FOR/F-IN-Klammer entspricht meinen (zufällig eingestellten) DIR-Ausgabeformaten.
Kann bei dir etwas aussehen... aber genau deshalb solltest du ja trocken üben.

Grüße
Biber
Member: winlin
winlin Aug 13, 2010 at 08:45:44 (UTC)
Goto Top
Servus Biber,

hey das find ich echt super wenn mal einer jemanden was erklärtface-smile Kenne mich schlecht mit batch aus aber wenn mir der biber so hilft dann lern ichs irgendwannface-smile)

du sag mal des tokens 1-5 versteh ich und wenn ich das da oben bei mir ausprobiere dann bekomme ich auch eine Ausgabe ähnlich wie bei dir. Schön und gut. Wenn ich aber das ganze dann mal versuche in mein Skript einzubauen klappts nicht. Kannst mir sagen wo ich Fehler mache?!?!?!

echo Windows Services:
dir C:\flexlm\ /b /AD
SET /p service=Bitte geben Sie den Service ein den Sie starten wollen:
dir C:\flexlm\ /S /AD |find /i "%service%"&& goto start  
goto error

:backup
for /f "tokens=1-5 delims=.: " %%a in ('dir \\server01\C$\flexlm\%service%\license.log^|findstr "log"') do (  
              if not exist \\server01\C$\flexlm\%service%\license-%%a-%%b-%%c_%%d%%e.log copy \\server01\C$\flexlm\%service%\license.log \\server01\C$\flexlm\%service%\license-%%a-%%b-%%c_%%d%%e.log
)
goto :eof

:start
call :backup server01 
sc \\server01 start "%service%"  

call :backup server02
sc \\server02 start "%service%"  

call :backup server03
sc \\server03 start "%service%"  

goto end
:error

:end
PAUSE
Mitglied: 60730
60730 Aug 13, 2010 at 10:07:09 (UTC)
Goto Top
Moin,

du nutzt in einer Schleife eine Variable - und da ist Batch einfach dümmer als Brot.

Schau mal nach (sicherlich von Biber nett aufbereiteten) Tipps zu EnableDelayedExpansion - das erklärt hier jeden WocheMonat einer face-wink


Gruß
Member: winlin
winlin Aug 13, 2010 at 10:53:14 (UTC)
Goto Top
Hi Timo,

naja das war ja sicherlich der entscheidende Hinweisface-smile)) Bekomme nachdem ich Setlocal enableDelayedExpansion gesetzt habe folgende logfile: license-13-08-2010_0908.log . Hmm nur ist Das Uhrzeitformat net schön. Es sollte noch ein : dazwischen face-smile

Ach ja in dem o.g. Skript von mir nimmt er ja das Datum von heute und die Uhrzeit wann die eigentlichen license.log (C:\flexlm\%service%\license.log) geändert worden ist und setzt sie dann in die neu kopierte logfile inkl. der Uhrzeit. Also die original license.log ist von heute 09:08 Uhr (letzte Änderung) und ich würde gerne das er die Zeit nimmt wann die neue license_DATUM_UHRZEIT.log erstellt worden ist. Also wenn ich das o.g. Skript ausführe soll er mir das heutige Datum ausgeben und die Uhrzeit wann ich das Skript ausgeführt habe bzw. wann die neue licnese_DATUM_UHRZEIT.log erstellt wurde (jetzt ist 13:00Uhr, das sollte er jetzt anzeigen).

Also ich muss ja sicherlich dann mit date /t und time /t arbeiten. Beim kopieren der license.log soll er durch ein echo date /t und time /t .

Also ich habe mal folgendes definiert set DATE=date /t und set TIME=time /t. Also gebe ich nun im CMD time ein erhalte ich das hier:
C:\Users\_admin_user>time
The current time is: 13:07:31,50
Enter the new time:
Member: Biber
Biber Aug 13, 2010 at 11:52:12 (UTC)
Goto Top
Moin winlin,

naja, geht doch voran bei dir.. face-wink

Ein paar Anmerkungen:
Es sollte noch ein : dazwischen
Nein. Das willst du nicht wirklich. Glaub mir.
Denn selbst, wenn ich dir hier eine handwerkliche Lösung zeigen würd, wie du einen Doppelpunkt in einen Dateinamen bekommst... Hey, für deine ästhetischen Empfingen mag es zwar dann wohlgefällig aussehen.
Aber ziemlich alle Utilities angefangen vom Windows-Explorer bis zum USB-Stick-Treiber oder bis zum CD-Brenner werden demonstrativ in einen unbefristeten Streik treten, wenn du die damit loslaufen lässt. Wenn du "0809" nicht als interpretierbare Uhrzeitangabe empfindest->"08h09".
Datei-Erstellungszeit <->Datei-Änderungszeit<-> Uhrzeit des Skriptlaufs.
Ist natürlich deine Entscheidung, welche Zeit du verwertest - ich habe oben schon geschrieben, welche ich nehmen würde.
Die ersten beiden bekommst du mit "tokens=1-5"-Minik aus der DIR-Ausgabe.
Beim DIR kannst du dir noch wünschen, ob Erstellungs oder Änderungszeit (siehe DIR /?; Parameter /tc und /tm )-
Die aktuelle Ortszeit deines Rechners steht in der Variablen %time%. Einfach mal "echo %time%" am Cmd-Prompt eingeben, dann siehst du das Format.

Grüße
Biber
Member: winlin
winlin Aug 13, 2010 at 12:50:12 (UTC)
Goto Top
Servus Biber,

also das mit dem : ist einleuchtend und ich lass das natürlich sein brauch auch kein 08h09face-smile))))

Zum Punkt mit dem Datum...hier die Ausgabe von %date% bzw. date /t:
13.08.2010
Und hier die Ausgabe von %time% time /t:
14:14

etwa so?????
Setlocal enableDelayedExpansion
echo Windows Services:
dir C:\flexlm\ /b /AD
SET /p service=Bitte geben Sie den Service ein den Sie starten wollen:
dir C:\flexlm\ /S /AD |find /i "%service%"&& goto start  
goto error

:backup
for /f "tokens=4-6 delims=: " %%a in (time /t) do set hh=%%d & set mi=%%e  
for /f "tokens=1-5 delims=.: " %%a in (date /t) do set dd=%%a & set mm=%%b & set yyyy=%%c (  
              if not exist \\server01\C$\flexlm\%service%\license-%%a-%%b-%%c_%%d%%e.log copy \\server01\C$\flexlm\%service%\license.log \\server01\C$\flexlm\%service%\license-%%a-%%b-%%c_%%d%%e.log
)
goto :eof

:start
call :backup server01
sc \\server01 start "%service%"  

call :backup server02
sc \\server02start "%service%"  

call :backup server03
sc \\server03 start "%service%"  

goto end
:error

:end
PAUSE
Mitglied: 60730
60730 Aug 13, 2010 at 13:03:35 (UTC)
Goto Top
moin,

was ganz andreasssesss..

  • schau dir mal meine Zeile 14 an...
14. call :backup server01
das bedeutet im klartext zwischen Tür & Angel
Springe zu dem Block, der bei Zeile 7 beginnt und gib dem Block als den ersten und einzigen Parameter "Server01"
08. for /f "tokens=1-3 delims=. " %%a in ('dir \\%1\c$\backup\license.log
...der auch via %1 angenommen wird...

mit deiner Variante, wo du den variablen Springblock einem - den ersten Server vorgibst.
Ergo deine Zeile 16 mit dem Aufruf
call :backup server01
wird in deiner Zeile 11
if not exist \\server01\

gar nicht ausgewertet - sprich beim ersten klappert das zwar einigermassen - bei Server x y und z aber nur per Zufall.

Gruß
Member: winlin
winlin Aug 13, 2010 at 13:17:58 (UTC)
Goto Top
hola Timo,

ich glaube ich werde dieses Thema nun aufgebenface-sad oder ich werde erst mal laaange zeit dafür verwenden um grundlagen von batch zu lernenface-smile)))

Naja im Endeffekt wollte ich ja nur das, wenn ich meine batch auf server01 starte die license.log im selben Verzeichnis mit Angabe von DATUM UHRZEIT kopiert wird...Timo & Biber vieeeelen Dank das ihr mir helfen wolltet, ihr seit Spitze Jungs nur leider habe ich es nicht geschafft, aber viell habt ihr ja erbarmen und zeigt mir wie es richtig gehtface-smile!)!
Member: Biber
Biber Aug 13, 2010 at 13:39:11 (UTC)
Goto Top
Moin winlin,

ich habe es neulich schon in einem anderen Beitrag geschrieben...
-> der Grundgedanke von "Batch" ist eigentlich, dass du einen Schritt nach dem anderen machst.
Nicht alles durcheinander.
Im Moment gehst du mir da ein bisschen zu hektisch ran -> und dabei kannst du leicht mit dem Popo alles umreissen, was du mit den Händen aufgebaut hast.

Dehalb beschränke ich mich auf EIN Detail, nachdem du gefragt hast:

Ich meinte vorhin mit
"Die aktuelle Ortszeit deines Rechners steht in der Variablen %time%. Einfach mal "echo %time%" am Cmd-Prompt eingeben, dann siehst du das Format."
dass du NICHT den Umweg über den Aufruf von "date/t" und "time/t"-Befehlen gehen musst.
[[Dafür gibt es keinen Grund-->aber wenn du es tust, sind es Befehlsaufrufe und müssen in der FOR-Anweisungsklammer in einfache Anführungszeichen.]]

Wenn du die Variablen %date% und/oder %time% als Text auswertest, dann müssen die Variablen in der FOR-Anweisungsklammer in DOPPELTE Anführungszeichen

Dein Aufruf ist aber im Moment so:
for /f "tokens=4-6 delims=: " %%a in (time /t) do ...
--> das entspricht KEINER der beiden Syntaxvarianten.
Und nein, ich kaspere das jetzt nicht vor.
Bitte mach deinen ganz eigenen proof-of-concept am CMD-Prompt und zerlege dort %date% und %time% mit einer FOR/F-Anweisung.

Und ned huddele.... wie wir Bremer sagen. Nicht hektisch werden.

Grüße
Biber
Member: winlin
winlin Aug 13, 2010 at 13:51:02 (UTC)
Goto Top
hehehe du bist gut huddele huddeleface-smile))

naja ich glaub ich belasse es bei der DIR /tw Variante. Eigentlich reicht mir dsas ja komplett aus (zuletzt geschrieben). Und das was ich ja benötige ist das ich nachvollziehen kann wann es Änderungen in den license.log gegeben hat. So werden alle license.log Files gespeichert die geändert worden sindface-smile