Top-Themen

Aktuelle Themen (A bis Z)

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
GELÖST

Batch Skript abbrechen

Frage Entwicklung Batch & Shell

Mitglied: Corraggiouno

Corraggiouno (Level 2) - Jetzt verbinden

03.09.2010, aktualisiert 10:30 Uhr, 10235 Aufrufe, 21 Kommentare

Hi,

habe folgendes Batch - Script geschrieben:

@echo off
cls
echo.
echo
echo ## ##
echo ## BACKUP ##
echo ## ##
echo
echo.
echo Bitte stellen Sie sicher, dass alle Anwendungen geschlossen sind!!
echo.
echo J = Datensicherung beginnt in wenigen Sekunden
echo N = Datensicherung / Vorgang wird abgebrochen
SET auswahl = SET /p auswahl=
if '%auswahl%' == 'J' GOTO J
if '%auswahl%' == 'N' GOTO N
echo.
:J
echo .................es wird in wenigen Sekunden eine Datensicherung
echo gestartet..............
echo.
ping /n 10 localhost >nul
echo.
echo
echo
echo Die Datensicherung laeuft.................
echo
echo.
xcopy "C:\Dokumente und Einstellungen\testuser\Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook" "E:\daten\outlook_sicherung" /Y
xcopy "C:\lieferanten" "E:\daten\lieferanten" /E /Y
xcopy "C:\Dokumente und Einstellungen\testuser\Eigene Dateien" "E:\daten\Eigene Dateien" /E /Y
echo.
echo.
echo
echo Die Sicherung wurde abgeschlossen
echo
ping /n 8 localhost >nul
echo
echo Ihr Sytem wird nun heruntergefahren
echo
shutdown -s -f -t 15
:N


Meine erste Frage: Kann so meine Selektion überhaupt funktionieren?
Kann mir jemand sagen wie ich das Batch-Sricpt abbrechen kann?
Mitglied: awagner82
03.09.2010 um 10:48 Uhr
hi,

abbrechen sollte mit "STRG+C" möglich sein.

gruß
Bitte warten ..
Mitglied: Corraggiouno
03.09.2010 um 10:54 Uhr
jetzt habe ich gerade festgestellt, dass ich überhaupt gar keine Selektion-Option habe; kann mir da jemand noch einen Tipp geben?
Bitte warten ..
Mitglied: Biber
03.09.2010 um 11:06 Uhr
Moin Corraggio1,

ich gebe auch gern mehrere Tipps, auch wenn vielleicht nicht die erwarteten.

Tipp 1) mit Doppelposts verprellst du einige gutwillige Stamm-Poster in den Skriptbereichen.
Du hast doch dieselbe Grütze schon in einem Parallelthread stehen... mit gefühlten 20 Antwortkommentaren. [edit] Real sind es sogar 33! [/edit]
Was soll das also hier?

Tipp 2)

Du bist auch schon im erwähnten Parallelbeitrag auf die erschwerte Lesbarkeit des Codes ohne Codeformatierung angesprochen worden.
Deine Reaktion war

Zitat von Corraggiouno:
.............oh sorry, wegen der Formatierung

Ja und weiter? Irgendwelche guten Vorsätze für den Rest des Jahres?

Tipp 3)
Kommentare mit potentiellen Hilfestellungen und Lösungsansätzen wenigstens lesen.

Tipp 4)

Fast alle im Batch verwendbaren Befehle haben auch eine eingebaute Hilfe, so z.B. der Befehl SET mit Eingabe von "Set /?" am CMD-Prompt.

Grüße
Biber
Bitte warten ..
Mitglied: bastla
03.09.2010 um 11:08 Uhr
Hallo Corragiouno!

Wenn Du die Zeilen ab dem korrigierten "SET auswahl = SET /p auswahl=" (bei Verwendung von "Code"-Formatierung hätte ich jetzt auf die entsprechenden Zeilennummern verwiesen) durch
01.
set /p Auswahl=J/N?  
02.
if /i "%Auswahl%" neq "J" goto :eof 
03.
echo.
ersetzt, sollte das klappen ...

[Edit]
... und ansonsten kann ich nur sehr zur Beachtung der Tipps von Biber raten ...
[/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: Miyamoto
03.09.2010 um 11:13 Uhr
Hi,
benutze bitte beim nächsten mal die Code Formatierung.
Das folgende Skript hat eine switch-case Anweisung, das ist glaube ich das was du willst.

Das skript hat jetzt
01.
@echo off 
02.
cls 
03.
echo. 
04.
echo ################################################################## 
05.
echo ## ## 
06.
echo ## BACKUP ## 
07.
echo ## ## 
08.
echo ################################################################## 
09.
echo. 
10.
echo Bitte stellen Sie sicher, dass alle Anwendungen geschlossen sind!! 
11.
echo. 
12.
:A 
13.
echo J = Datensicherung beginnt in wenigen Sekunden 
14.
echo N = Datensicherung / Vorgang wird abgebrochen 
15.
SET /p auswahl= 
16.
if '%auswahl%' == 'J' GOTO J 
17.
if '%auswahl%' == 'N' GOTO N 
18.
GOTO A 
19.
echo. 
20.
:J 
21.
echo .................es wird in wenigen Sekunden eine Datensicherung 
22.
echo gestartet.............. 
23.
echo. 
24.
ping /n 10 localhost >nul 
25.
echo. 
26.
echo 
27.
echo ######################################### 
28.
echo Die Datensicherung laeuft................. 
29.
echo ######################################### 
30.
echo. 
31.
xcopy "C:\Dokumente und Einstellungen\testuser\Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook" "E:\daten\outlook_sicherung" /Y 
32.
xcopy "C:\lieferanten" "E:\daten\lieferanten" /E /Y 
33.
xcopy "C:\Dokumente und Einstellungen\testuser\Eigene Dateien" "E:\daten\Eigene Dateien" /E /Y 
34.
echo. 
35.
echo. 
36.
echo ################################# 
37.
echo Die Sicherung wurde abgeschlossen 
38.
echo ################################# 
39.
ping /n 8 localhost >nul 
40.
echo ######################################### 
41.
echo Ihr Sytem wird nun heruntergefahren 
42.
echo ######################################### 
43.
shutdown -s -f -t 15 
44.
:N 
45.
 
Gruß Miyamoto
Bitte warten ..
Mitglied: bastla
03.09.2010 um 11:28 Uhr
@Miyamoto

Das "xcopy" würde ich etwas ergänzen, zB
xcopy "C:\Dokumente und Einstellungen\testuser\Eigene Dateien" "E:\daten\Eigene Dateien\" /DEHKRY
Grüße
bastla
Bitte warten ..
Mitglied: Karo
03.09.2010 um 11:35 Uhr
Hi,

als Ergänzung: Im Reskit von NT git es das kleine Tool CHOICE was man stattdessen auch einsetzen kann ...

Karo
Bitte warten ..
Mitglied: Miyamoto
03.09.2010 um 11:47 Uhr
@bastla
Ich habe mir den Rest des Skriptes gar nicht angeschaut, nur den Teil wo die Auswahl getroffen wird ^^

Gruß Miyamoto
Bitte warten ..
Mitglied: bankaifan
03.09.2010 um 13:45 Uhr
Immer wieder interesant dass es zu jedem noch so kleinen Problem zig lösungen gibt :D
Bitte warten ..
Mitglied: Corraggiouno
03.09.2010 um 17:13 Uhr
ok, habe mir einfach gedacht das ich die Option mit Abbrechen in einen neuen Post packe; sorry.
Ich bin euch ja dankbar für eure Hilfe, besonders von Biber; dennoch bin ich davon überzeugt dass mehr Solidarität entgegengebracht werden könnte; sonst fällt mir da auch nichts mehr anderes ein: "Also was soll das eigentlich hier"
Bitte warten ..
Mitglied: bastla
03.09.2010 um 18:47 Uhr
Hallo Corragiouno!

Magst Du ein wenig genauer ausführen, in welcher Hinsicht Du einen Mangel an Solidarität ortest und wie der aus Deiner Sicht zu beheben wäre?

Grüße
bastla
Bitte warten ..
Mitglied: Corraggiouno
06.09.2010 um 08:34 Uhr
guten morgen;

ok; habe mir fest vorgenommen eure Tipps und Ratschläge folge zu leisten:
als aller erstes meine code-formatierung

01.
@echo off 
02.
cls 
03.
echo. 
04.
echo ################################################################## 
05.
echo ## 		                                                ## 
06.
echo ##                            BACKUP                            ## 
07.
echo ##                                                              ## 
08.
echo ################################################################## 
09.
echo. 
10.
echo Bitte stellen Sie sicher, dass alle Anwendungen geschlossen sind!! 
11.
echo. 
12.
echo J = Datensicherung beginnt in wenigen Sekunden 
13.
echo N = Datensicherung / Vorgang wird abgebrochen 
14.
 
15.
SET /p auswahl = Bitte geben Sie (J / N) ein: 
16.
 
17.
if /i '%auswahl%' == 'J' GOTO J 
18.
if /i '%auswahl%' == 'N' GOTO N 
19.
 
20.
:J 
21.
echo Die Sicherung erfolgt in wenigen Sekunden 
22.
 
23.
:N 
24.
echo Der Vorgang wird abgebrochen 
25.
 
26.
pause
Meine Frage:
1. Was bedeutet eigentlich der parameter i
2. Die Auswahl funktioniert nun: wenn ich aber J oder N eingebe werden bei Zeilen

Die Sicherung erfolgt in wenigen Sekunden
Der Vorgang wird abgebrochen

ausgegeben; Kann mir da jemand noch einen Tipp geben?
Bitte warten ..
Mitglied: Karo
06.09.2010 um 09:16 Uhr
Moin

1. /i bedeutet, das der String INCASESENSITIVE ausgewertet wird, also egal ob groß oder klein eingegeben.
2.1 SET /p auswahl=Bitte geben Sie (J / N) ein:
2.2 If /i "%auswahl%"=="J" GOTO J
2.3 If /i "%auswahl%"=="N" GOTO N

Karo
Bitte warten ..
Mitglied: BigWim
06.09.2010 um 09:43 Uhr
Hallo Corragiouno

zu 1)
solche Fragen kannst Du Dir leicht selbst beantworten, indem Du vor jeder Anweisung ein HELP schreibst. In diesem konkreten Fall "help if".
Was in diesen Hilfen nicht steht oder nur ansatzweise - wie ich finde -, ist, auf welche genialen Arten und Weisen man dieses Wissen kombinieren kannst. Das lernst Du hier durch gezielte Fragen.

zu 2)
mußte ich auch schmerzlich lernen. Wenn Du help Set aufrufst und Dir die Beispiele ansiehst, wirst Du feststellen, dass die Zuweisungen ohne Leerstellen zu erfolgen haben. Deshalb mein Tipp: Beim Probieren immer exakt an die Schreibweisen halten und wenn es funktioniert, dann spielen ...

zu der künftigen Frage, warum das bei J immer noch nicht funktioniert
Überlege mal, wie Du Deine Zeilen interpretieren würdest, wenn Du der Rechner wärst:
Zeile 15, Zeile 17, Zeile 20, Zeile 21, und dann?


Wenn trotzt intensiven Nachdenkens nicht drauf kommst (was dann eher mein Level ist), dann mach doch mal das @echo off weg. Dann werden die allermeisten Fehler sichtbar ....



Und zuletzt ein gutgemeinter Rat:
Wenn Du sowas hier zum Besten gibst:
dennoch bin ich davon überzeugt dass mehr Solidarität entgegengebracht werden könnte;
sonst fällt mir da auch nichts mehr anderes ein: "Also was soll das eigentlich hier"

und lässt das Unkommentiert trotz Nachfrage stehen, wirst Du Dir wenig Freunde machen ...

Markus
Bitte warten ..
Mitglied: bankaifan
06.09.2010 um 09:51 Uhr
01.
@echo off 
02.
:Auswahl  
03.
cls 
04.
echo. 
05.
echo ################################################################## 
06.
echo ## 		                                                ## 
07.
echo ##                            BACKUP                            ## 
08.
echo ##                                                              ## 
09.
echo ################################################################## 
10.
echo. 
11.
echo Bitte stellen Sie sicher, dass alle Anwendungen geschlossen sind!! 
12.
echo. 
13.
echo J = Datensicherung beginnt in wenigen Sekunden 
14.
echo N = Datensicherung / Vorgang wird abgebrochen 
15.
 
16.
SET /p auswahl = Bitte geben Sie (J / N) ein: 
17.
 
18.
if /i '%auswahl%' == 'J' GOTO J 
19.
if /i '%auswahl%' == 'N' GOTO N 
20.
GOTO :Auswahl 
21.
 
22.
:J 
23.
echo Die Sicherung erfolgt in wenigen Sekunden 
24.
 
25.
GOTO :ENDE 
26.
 
27.
:N 
28.
echo Der Vorgang wird abgebrochen 
29.
 
30.
GOTO :ENDE 
31.
 
32.
:ENDE 
33.
pause
Zur Erklärung:

1. Die Marke "Auswahl" setzte ich, damit, wenn etwas anderes als J oder N eingegeben wird er die Eingabe erneut abfragt.
2. Die "ENDE" Marke setzte ich, damit wenn J gewählt wird nicht auch noch N durchlaufen wird.
Bitte warten ..
Mitglied: Corraggiouno
06.09.2010 um 10:23 Uhr
dennoch bin ich davon überzeugt dass mehr Solidarität entgegengebracht werden könnte;
sonst fällt mir da auch nichts mehr anderes ein: "Also was soll das eigentlich hier
Ich fand einfach, die Aussage
Ja und weiter? Irgendwelche guten Vorsätze für den Rest des Jahres?
schon etwas schroff war; ich werde in Zukunft eure Ratschläge und Tipps hinsichtlich Formatierung und "Doppelpost's" berücksichtig, versprochen!!
Trotzdem vielen vielen Dank für eure Hilfe
Bitte warten ..
Mitglied: Corraggiouno
06.09.2010 um 11:10 Uhr
Hey,

01.
@echo off 
02.
:auswahl 
03.
cls 
04.
echo. 
05.
echo ################################################################## 
06.
echo ## 		                                                ## 
07.
echo ##                            BACKUP                            ## 
08.
echo ##                                                              ## 
09.
echo ################################################################## 
10.
echo. 
11.
echo Bitte stellen Sie sicher, dass alle Anwendungen geschlossen sind!! 
12.
echo. 
13.
echo J = Datensicherung beginnt in wenigen Sekunden 
14.
echo N = Datensicherung / Vorgang wird abgebrochen 
15.
echo. 
16.
 
17.
SET /p auswahl =Bitte geben Sie (J / N) ein: 
18.
if /i '%auswahl%' == 'J' GOTO :J 
19.
if /i '%auswahl%' == 'N' GOTO :N 
20.
goto :auswahl 
21.
 
22.
:J 
23.
echo Die Sicherung erfolgt in wenigen Sekunden 
24.
goto :ende 
25.
 
26.
:N 
27.
echo Der Vorgang wird abgebrochen 
28.
goto :ende 
29.
 
30.
:ende 
31.
pause
......egal welchen buchstaben ich eingebe; es wird immer erneut nach der Eingabe gefragt; bzw. lasse ich die option
01.
goto :auswahl

wegfallen, wird bei
J und N
Die Sicherung erfolgt in wenigen Sekunden
ausgegeben;
Bitte warten ..
Mitglied: BigWim
06.09.2010 um 11:37 Uhr
Hallo Corragiouno,

wenn Du das Echo off weggelassen hättest (und in diesem Fall auch das cls), dann hättest Du erkannt, dass die Zuweisung mittels Set /p ... (Zeile 17) immer noch nicht funktioniert.

Ich kann mich nur wiederholen, weil ich oft genug (und wohl noch nicht genug) in die Falle getappt bin.

Markus

01.
SET /p auswahl=Bitte geben Sie (J / N) ein:

PS: Hätte gern eine Hardcopy angefügt, aber auf die schnelle nicht gefunden, wie das geht .....
Bitte warten ..
Mitglied: Corraggiouno
06.09.2010 um 11:48 Uhr
oooh, mist das Leerzeichen; vielen Dank!
Bitte warten ..
Mitglied: BigWim
06.09.2010 um 11:59 Uhr
Hört sich so an, als wäre diese Anfrage gelöst, oder?


Markus
Bitte warten ..
Mitglied: Karo
06.09.2010 um 13:02 Uhr
Hättest Du die Sachen genau durchgelesen, so hättest Du den Hinweis schon weiter oben von mir gesehen ....

Karo

PS: Auch ich denke die Sache kann als gelöst gesetzt werden.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch-Skript anpassen
gelöst Frage von Sideshow88Batch & Shell9 Kommentare

Hallo liebe Community, ich möchte gerne ein Batch-Skript, welches den Status diverser Krankenhausschnittstellen anzeigt, dahingehen ändern, dass es einen ...

Batch & Shell
Batch Skript erweitern
Frage von michi-ffmBatch & Shell1 Kommentar

Hallo zusammen, ich hänge jetzt schon seid Tagen dieses Skript zu erweitern, kann mir evtl jemand weiterhelfen? Er soll ...

Windows 10
Hilfe beim Batch Skript
gelöst Frage von WinLiCLIWindows 1013 Kommentare

Hallo zusammen, ich möchte gerne ein Skript schreiben das folgendes macht: Wenn WindowsBuildNumber 10.0.10586 oder 10.0.14393 enthält, dann führe ...

Batch & Shell
Powershell + Batch Skript kombiniert
gelöst Frage von mschaedler1982Batch & Shell11 Kommentare

Hallo zusammen. Ich habe hier zwei Skripte (Powershell + Batch Skript) Die Batch Datei: (Zu dieser Datei muss ich ...

Neue Wissensbeiträge
Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 1 StundeWindows 101 Kommentar

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 3 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 1 TagViren und Trojaner2 Kommentare

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Brainstorming, einfachste Option 1 getrenntes LAN (mit WAN zugang)
Frage von 132954LAN, WAN, Wireless13 Kommentare

Hi, folgendes: Wir bekommen eine Glasfaser Leitung, Und das sollte Optional so aussehen: Ein Modem/Router für das WAN, ein ...

Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Netzwerkgrundlagen
Hi eine blöde frage. xD
Frage von 132954Netzwerkgrundlagen12 Kommentare

Also: Habe 2012 r2 essentials neuinstalliert, allerdings installiert diese version ja gleich diesen gangen AD kram mit, den hab ...