5242
Goto Top

Batch Script - Hinweisausgabe vor und nach dem Backup für den User

Moin Moin!

Ich versuche gerade eine Batch Datei zu schreiben, welche sich vor und nach dem Backup an den User mit einer Info wendet.
Leider ist es recht lange her, dass ich eine Batch-Tatei geschrieben habe, hoffentlich könnt Ihr mir ein wenig auf die Sprünge helfen face-smile

Die Batch-Datei wird automatisch von dem Backup-Programm aufgerufen, es geht also ausschließlich um Die Ausgabe eines Textes mit gewissen automatischen Abläufen.


2 Scenarien:

- VOR dem Backup soll ein Text erscheinen, welcher sich dann nach einer Minute schließt, das Backup wird gestartet:

Zeile1
Zeile2
Zeile3

- NACH dem Backup soll ein Text erscheinen, welcher per [Klick] oder [Tastendruck] geschlossen wird, der User wird Informiert, dass er normal weiter arbeiten kann:

Zeile1
Zeile2
Zeile3

Von meiner Seite schon mal einen Dicken Dank an Euch face-smile
Liebe Grüße aus Hamburg,
Der olle FreakInCage

Content-Key: 73972

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

Printed on: April 25, 2024 at 09:04 o'clock

Member: manuel-r
manuel-r Nov 20, 2007 at 09:59:53 (UTC)
Goto Top
Also wenn du es nicht besonders komfortabel und hübsch brauchst, dann nimm das für die erste Batch
@echo off
cls
echo Text1
echo Text2
echo Text3
rem hier dann die pause
ping -n 60 localhost > nul
rem oder wenn es xp ist einfach mit
sleep 60
und das für die zweite
@echo off
cls
echo Die Nachricht an den User
pause
Natürlich kann man das auch in schön und mit Fensterchen haben. Den Zweck erfüllt das hier aber allemal.

Manuel
Mitglied: 5242
5242 Nov 20, 2007 at 13:50:00 (UTC)
Goto Top
Hallo Manuel,

vielen Dank für die Scripte, das sieht doch schon mal sehr gut aus!
Für das 2te Script, besteht dort die Möglichkeit sowas wie "Bitte drücken sie eine beliebige Taste, um dieses Fenster zu schließen"?

Liebe Grüße aus Hamburg,
Kai
Mitglied: 5242
5242 Nov 20, 2007 at 14:01:09 (UTC)
Goto Top
Hmm, vorschnell geantwortet, erst testen, dann fragen =0)

Script:


@echo off
cls

echo >>> Bitte beachten: Backup-Information! <<<
echo (dieses Fenster schließt sich automatisch, bitte nicht selber beenden)
echo Bitte schließe alle Dokumente, die sich in Deinen "EigenenDateien" befinden, in einer Minute wird das Backup echo gestartet.
echo Sind einzelne Dateien geöffnet, werden diese nicht mitgesichert.
echo Die Sicherung dieser Dateien erfolgt dann erst beim nächsten Mal.
echo Liebe Grüße,
echo Euer Admin

rem 60
ping -n 60 localhost > nul


Leider wird das Fenster sofort wieder geschlossen - das BS ist XP, auch später bei den Clients.
Hast Du eine Idee, woran das liegen kann?

Dann würde ich gerne noch wissen, wofür Du den "ping" mit einbringst, ich sehe in dem Zusammenhang gerade gar keinen Grund dafür ... face-smile

Liebe Grüße,
Kai
Member: manuel-r
manuel-r Nov 20, 2007 at 14:17:27 (UTC)
Goto Top
PING macht an der Stelle eigentlich auch nichts sinnvolles - außer halt 60 mal localhost anpingen, was etwa 60 Sek dauert. Auf WinXP solltest du auch SLEEP nehmen können - unter w2k gibt es den Befehl jedoch nicht.

Manuel
Mitglied: 5242
5242 Nov 20, 2007 at 14:32:44 (UTC)
Goto Top
Ah, gut, sowas hatte ich mir schon gedacht.

Hast Du ggf. noch eine Idee, warum das mit dem Script, wie oben beschrieben, nicht klappt (egal ob rem oder speep) + die Ergänzung des 2ten Scriptes?

Vielen Dank noch mal face-smile
Kai
Member: manuel-r
manuel-r Nov 20, 2007 at 14:36:59 (UTC)
Goto Top
REM ist kein Befehl im eigentlichen Sinne. Ausgeschrieben bedeutet das lediglich REMark - also Anmerkung. Alle Zeilen mit REM kannst du auch ersatzlos wegfallen lassen.

Manuel
Member: bastla
bastla Nov 20, 2007 at 16:34:43 (UTC)
Goto Top
Hallo FreakInCage!

Wenn Du gesteigerten Wert auf eine Ausgabe der Art
>>> Bitte beachten: Backup-Information! <<<
legst, musst Du den CMD-Interpreter aber auch davon informieren, dass Du nicht wirklich diverse Umleitungen (mit ">" und "<") vorhast. Diese Information übermittelst Du mit "^", was soviel bedeutet wie: "Lieber Interpreter, denk Dir nix beim nächsten Zeichen, ich möchte es einfach so ausgegeben bekommen, wie es da steht." (Auch andere Zeichen mit speziellen Funktionen (etwa "&" oder "|") musst Du im Fall des Falles derart "maskieren".)
echo ^>^>^> Bitte beachten: Backup-Information! ^<^<^<
... besteht dort die Möglichkeit sowas wie "Bitte drücken sie eine beliebige Taste, um dieses Fenster zu schließen"?
echo Bitte drücken sie eine beliebige Taste, um dieses Fenster zu schließen
pause>nul
exit

Grüße
bastla
Member: erik87
erik87 Nov 20, 2007 at 23:27:07 (UTC)
Goto Top
hallo FreakInCage,

also wenn das batch automatisch von deinem backup-programm aufgerufen wird gibt es zwei varianten.

die erste variante ist (falls möglich) 2 Batch dateien zuschreiben welche dann seperat jeweils eine vorher und eine nachher gestartet wir. Dies könnte dann folgendermaßen aussehen.


1.Batch (vorher.bat)
@echo off

echo zeile1
echo zeile2
echo zeile3...
ping -n 60 000.000.0.00 >log.tnt
exit
2.batch(nachher.bat)
@echo off

echo zeile1
echo zeile2
echo zeile3...
echo.
echo Mit beliebiger Taste beenden.
pause>0
exit


oder du schreibst ein script bei der du im gleichen ordner eine textdatei mit dem namen (bsp.) 001.txt erstellst und in eine 1 schreibst.(dies brauchst du nur vor der aller ersten anwendung tun)


(anzeige.bat)
@echo off

for /f %%f in (001.txt) do set x=%%f

if %x% == 1 goto vorher 
if %x% == 2 goto nachher


:vorher

echo zeile1
echo zeile2
echo zeile3...
ping -n 60 000.000.0.00 >log.tnt
echo 2 >001.txt
exit

:nachher

echo zeile1
echo zeile2
echo zeile3...
echo.
echo Mit beliebiger Taste beenden.
echo 1 >001.txt
pause>0
exit
ich habe win vista und habe das script nicht getestet, denke aber das es funktionieren sollte, sofern ich dich richtig verstanden habe... face-smile

gute nacht.

[Edit Biber] Als formatiert. [/Edit]
Mitglied: 5242
5242 Nov 21, 2007 at 10:25:12 (UTC)
Goto Top
Moinsen!

Jep, die beiden Scripte funktionieren, vielen Dank face-smile
Also ist das "ping" doch wichtig, gibt es nicht auch eine Zeitgesteuerte Variante, die unter XP funktioniert?

Mit REM oder SLEEP geht es leider nicht, zumindest bei mir.

Dann habe ich noch eine Frage: Besteht die Möglichkeit, in einer Textausgabe Zeilenumbrüche einzubauen?

Beispiel:

Zeile1
Zeile2

Zeile 3
Zeile4


Vielen Dank,
Kai
Member: bastla
bastla Nov 21, 2007 at 11:57:05 (UTC)
Goto Top
Hallo FreakInCage!

Besteht die Möglichkeit, in einer Textausgabe Zeilenumbrüche einzubauen?
Falls damit eine Leerzeile gemeint ist:
echo.

Grüße
bastla
Mitglied: 5242
5242 Nov 21, 2007 at 12:19:10 (UTC)
Goto Top
Oh je, es ist schlimm, da habe ich nur ein paar Jahre keine Batch mehr geschrieben, schon vergesse ich solche "Selbstverständlichkeiten"

Vielen Dank an Alle, Ihr habt mir sehr geholfen face-smile