ency Geschrieben 4. August 2010 Geschrieben 4. August 2010 Hallo Leute, ich habe unten folgendes Skript das beim ausführen mein Windows Services Verzeichnis durchscannt mir dann die Services auflistet und frägt welchen Dienst ich denn gerne stoppen möchte ... funktioniert alles super. Habe dann vorhin noch den Abschnitt mit den Datumsvariablen eingefügt der mir beim ausführen des skriptes und bei der angabe des services genau diese log file des services kopiert und mit einem Zeitstempel versieht, hat bisher alles geklappt doch wird beim ausführen und Angabe des servicenamens nicht die license.log in license.log_DATUM_UHRZEIT umbenannt sondern es wird ein Verzeichnis license.log_DATUM angelegt. und da drin ist dann meine license.log-gesicherte File. Frage: Wie bekomme ich es denn hin das er mir die ursprüngliche license.log als license.log_DATUM_UHRZEIT sichert - nicht in ein Verzeichnis sondern direkt als Filename?!?! @echo off & setlocal REM Datumsvariablen systemspezifisch aufbereiten if %windir%==C:\WINNT for /f "tokens=2-4 delims=. " %%a in ('date /t') do set dd=%%a&set mm=%%b&set yyyy=%%c 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 echo SERVICES: dir E:\flexlm /b /AD SET /p servicename=Bitte geben Sie den Service ein den Sie stoppen wollen: dir E:\flexlm /S /AD |find /i "%servicename%"&& goto start goto error :start xcopy E:\flexlm\%servicename%\license.log E:\flexlm\%servicename%\license.log_%date%\ sc \\server01 stop "%servicename%" sc \\server02 stop "%servicename%" sc \\server03 stop "%servicename%" PAUSE Zitieren
lupo49 Geschrieben 4. August 2010 Geschrieben 4. August 2010 Anscheinend weiß xcopy nicht, ob es sich bei der Quell um eine Datei oder ein Verzeichnis handelt. Ich würde erst die Datei in das Verzeichnis kopieren und dann nachträglich umbenennen. xcopy C:\foo\bar.log "C:\bar\" ren C:\bar\bar.log bar.log_%DATE% Zitieren
ency Geschrieben 4. August 2010 Autor Geschrieben 4. August 2010 hey das hat super geklappt:-)) würde aber noch gerne die uhrzeit hinzufügen wie muss ich dafür das skript ändern?!?! Zitieren
lupo49 Geschrieben 4. August 2010 Geschrieben 4. August 2010 Du definierst oben mehrere Variablen (%hh%, %mi%), die die Uhrzeit enthalten. Die kannst du dann auch entsprechend nutzen (In dem ren-Befehl die Variablen mit Trennzeichen hintereinander hängen). Zitieren
ency Geschrieben 4. August 2010 Autor Geschrieben 4. August 2010 etwa so: if %windir%==C:\WINDOWS for /f "tokens=1-3 delims=. " %%a in ('time /t') do set hh=%%a&set mi=%%b&set Zitieren
lupo49 Geschrieben 4. August 2010 Geschrieben 4. August 2010 Ich meinte damit, dass die dir ja schon zur Verfügung stehen, weil die von dir genannte Zeile in Skript schon existiert. Du musst jetzt nur noch die in der Zeile gesetzten Variablen nutzen. Zitieren
ency Geschrieben 5. August 2010 Autor Geschrieben 5. August 2010 etwa so: ... if %windir%==C:\WINDOWS for /f "tokens=1-2 delims=: " %%a in ('time /t') do set hh=%%a&set mi=%%b ... xcopy E:\flexlm\%servicename%\license.log E:\flexlm\%servicename%\license.log-hh-mi\ Zitieren
lupo49 Geschrieben 5. August 2010 Geschrieben 5. August 2010 Nein, so werden keine Batch-Variablen angesprochen. Es fehlen die Prozentzeichen. Zitieren
ency Geschrieben 5. August 2010 Autor Geschrieben 5. August 2010 Also dann so: if %windir%==C:\WINDOWS for /f "tokens=1-2 delims=: " %%a in ('time /t') do set hh=%%a&set mi=%%b ... xcopy E:\flexlm\%servicename%\license.log E:\flexlm\%servicename%\license.log-%hh%-%mi% Zitieren
lupo49 Geschrieben 5. August 2010 Geschrieben 5. August 2010 Du brauchst das nicht immer zu posten. Du kannst doch selber ausprobieren ob es funktioniert oder nicht. Allerdings verwendest du das jetzt wieder in dem xcopy-Befehl und nicht wie oben beschrieben in dem ren-Befehl. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.