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

Sprungmarke innerhalb einer If Anweisung ?

Frage Entwicklung Batch & Shell

Mitglied: malcomxcia

malcomxcia (Level 1) - Jetzt verbinden

17.07.2013, aktualisiert 17:24 Uhr, 1457 Aufrufe, 8 Kommentare

Tach'en erst mal ! ! !

Wie der Threadtitel schon sagt. Ist es überhaupt möglich innerhalb einer IF Anweisung mit Sprunkmarken zu arbeiten ?

Gruß und Danke schon mal im voraus
Malcom
Mitglied: Biber
17.07.2013, aktualisiert um 20:29 Uhr
Moin malcolmxcia,

du kannst innerhalb einer IF-Anweisung sowohl mit Call:sprungmarke wie auch mit goto:sprungmarke arbeiten.

Ersteres, also ein Call-Aufruf mit Rücksprung kann begrenzt sinnvoll sein.
Ein Verlassen einer IF-Anweisung mit goto:malEbenSpontanWoandershin ist unentschuldbar, aber möglich.

Grüße
Biber
Bitte warten ..
Mitglied: malcomxcia
17.07.2013 um 20:03 Uhr
Erst mal vielen Dank für deine antwort ;)

Also ich habs jetzt einfach nur mal mit der If probiert ohne irgendwelchen Code, und sobald eine Sprungmarke IN DER IF Anweisung vorkommt, gibt er mir einen Syntaxfehler aus.

Schein somit nicht zu klappen.

Trotzdem nochmal Danke
Malcom
Bitte warten ..
Mitglied: Pjordorf
17.07.2013, aktualisiert um 23:05 Uhr
Hallo,

Zitat von malcomxcia:
gibt er mir einen Syntaxfehler aus.
Erzählst du uns welchen oder müssen wir hier für dich Lotto Spielen? Und, was und wie hast du denn in deiner IF das ganze umgesetzt? Wenn ich es in meiner Batchdatei umsetze geht es schon Aber mein OS und meine Batch müssen ja nicht aus den gleichen Baum geschnitzt sein wie das was du verwendest

Gruß,
Peter

[Edit]
hatte es natürlich andersrum verstanden und daher durchgestrichen.
[/Edit]
Bitte warten ..
Mitglied: Biber
17.07.2013 um 20:44 Uhr
Moin malcomxcia,

okay, so wie du es beschreibst, willst du ja nich innerhalb der IF-Anweisung ein goto/call einstreuen, sondern umgekehrt in eine IF-Anweisung reinspringen.

Hatte ich im ersten Anlauf nicht verstanden.

Also -dein Ansinnen geht auch, allerdings nicht unbedingt hybsch.
Denn du springst dann ja in eine CMD-Zeile rein, die mit einer Klammer-Zu endet - es wird also nur dann kein Syntaxfehler hochpoppen, wenn du es schaffst VOR dem goto :sprungmarke eine Klammer-Auf unterzubringen.

Aber - wenn es nicht gerade um eine Wette oder um eine lustige Einlage beim Sommerfest geht, würde ich mir so einen Programmierstil verkneifen.

Auch wenn es nur ein wehrloser Batch ist.

Grüße
Biber
Bitte warten ..
Mitglied: Endoro
17.07.2013 um 21:01 Uhr
Hallo,

wenn du so was vor hast:
01.
@ECHO OFF &SETLOCAL 
02.
GOTO :LABEL1 
03.
IF 1==1 ( 
04.
	:LABEL1 
05.
	ECHO foo 
06.
)
dann geht es wohl, bringt aber den ganzen cmd in eine Art undefinierte (=instabile) Lage.
Ich würde unbedingt davon abraten.

lg
Bitte warten ..
Mitglied: malcomxcia
17.07.2013 um 21:21 Uhr
Öhm sorry aber bin nicht so der DOS Freak :D

Wie kann man sich den einen Syntaxfehler genau ausgeben lassen. Bei mir erscheint immer nur Syntaxfehler und das Fenster wird sofort geschlossen ? ? ?
Also dann hier mal mein Beispiel ;)

01.
if defined fullbackup ( 
02.
 
03.
 
04.
echo ---------------------------------------------------------------->>%cd%\log\log_!aktschritt!_backup.log 
05.
echo --------------- ERGEBNIS IHRER DATENSICHERUNG ------------------>> %cd%\log\log_!aktschritt!_backup.log 
06.
echo ---------------------------------------------------------------->>%cd%\log\log_!aktschritt!_backup.log 
07.
 
08.
if defined difffailed ( 
09.
echo. 
10.
echo ####################  HASH FEHLT UND WIRD NEU ERSTELLT  ######################## 
11.
echo. 
12.
SNAPSHOT %quelle%:   %ziel%!hash!_$computername_$disk.sna -L40000 >>%cd%\log\log_!aktschritt!_backup.log 
13.
 
14.
set errorcode=!errorlevel! 
15.
echo !errorcode! >> %cd%\log\log_!hash!_backup.log 
16.
set "mailing=TRUE" 
17.
if !errorcode! GEQ 1 goto fehlermail 
18.
if !copyusb!==1 (goto usbcopy) else (goto erfolgsmail) 
19.
 
20.
21.
echo. 
22.
echo #####################  STARTE FULLBACKUP  ########################## 
23.
echo. 
24.
SNAPSHOT %quelle%:   %ziel%!aktschritt!_$computername_$disk.sna -L40000 >>%cd%\log\log_!aktschritt!_backup.log 
25.
set errorcode=!errorlevel! 
26.
echo !errorcode! >> %cd%\log\log_!aktschritt!_backup.log 
27.
set "mailing=TRUE" 
28.
if !errorcode! GEQ 1 goto fehlermail 
29.
if !copyusb!==1 (goto usbcopy) else (goto erfolgsmail) 
30.
 
31.
 
32.
:usbcopy 
33.
 
34.
)
Und sobald ich innerhalb dieser IF Anweisung das :usbcopy einfüge, gibt es mir den syntaxfehler aus !

Gruß
Malcom
Bitte warten ..
Mitglied: bastla
17.07.2013, aktualisiert um 22:25 Uhr
Hallo malcolmxcia!

  • Was soll denn passieren, wenn %fullbackup% leer ("not defined") ist? Falls eh nix, könntest Du ja die Abfrage umkehren und Dir eine Klammerebene "sparen".
  • Warum soll ":usbcopy" innerhalb des "If defined fullbackup"-Blocks platziert werden - könnte doch per "call" aufgerufen werden und unterhalb des Batch-"Hauptprogramms" stehen?
BTW: Aus
echo ---------------------------------------------------------------->>%cd%\log\log_!aktschritt!_backup.log
und ähnlichen Ausgabezeilen würde ich (kürzer und besser lesbar)
>>log\log_!aktschritt!_backup.log echo ----------------------------------------------------------------
machen (da ja %cd% ohnehin der aktuelle Ordner ist, brauchst Du ihn im Pfad nicht mit anzugeben) ...

Grüße
bastla
Bitte warten ..
Mitglied: Endoro
17.07.2013 um 23:23 Uhr
Zitat von malcomxcia:
Wie kann man sich den einen Syntaxfehler genau ausgeben lassen. Bei mir erscheint immer nur Syntaxfehler und das Fenster wird
sofort geschlossen ? ? ?

Wenn der Sprung Label die letzte Anweisung vor der schliessenden Klammer ist, gibts einen syntax error.
Bei mir steht noch das echo dahinter

lg
Bitte warten ..
Ähnliche Inhalte
Datenbanken
gelöst Hilfe bei MSSQL-Anweisung, Werte in andere Tabelle einfügen (8)

Frage von d4shoerncheN zum Thema Datenbanken ...

Batch & Shell
Batch kehrt zur Sprungmarke zurück, obwohl es pingen soll? (2)

Frage von Brotkasten zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (44)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

Frage von iAmbricksta zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2012 R2 - Zugriff Verweigert bei jeglicher Tätigkeit (13)

Frage von DarkLevi zum Thema Windows Server ...