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 Veränderbare Variable als Sprunkmarke nutzen

Mitglied: Zendara

Zendara (Level 1) - Jetzt verbinden

10.12.2013, aktualisiert 16:15 Uhr, 1516 Aufrufe, 10 Kommentare, 3 Danke

Hallo,

ich möchte eine Variable als Sprungmarke benutzen, damit ich ein Batchfile verkürzen kann.

Als erstes mal den Batch der Funktionier aber zu lange ist.

Nun habe ich das File abgekürzt...

Leider Funktioniert der Sprung zu :%sprung% nicht und ich muss immer :1, :2, :3,... vorher schreiben damit das File seinen Weg findet.
Die Ausgabe von %sprung% ist zwar richtig aber er kann scheinbar auf keine Variable springen.

Hat jemand eine Idee wie ich das lösen kann?
Ich hab auch ihr im Forum ähnliche Beiträge gefunden die mich aber nicht weiter brachten

Danke
Lg
Zendara
Mitglied: bastla
LÖSUNG 10.12.2013, aktualisiert um 16:10 Uhr
Hallo Zendara!

Als Sprungmarke ":%sprung%" zu verwenden wird sich nicht realisieren lassen - es sollte aber auch überhaupt nicht nötig sein, wenn offensichtlich im Unterprogramm ohnehin immer das Gleiche passieren soll ...

Du kannst dazu eine festen Namen (etwa ":Unterprogramm") verwenden und dann immer dieses Label als Ziel des "call" angeben (die Variable %sprung% hast Du ja im Unterprogramm zur Verfügung) bzw, je nachdem, was Du tatsächlich vorhast, auch einfach eine "for /L"-Schleife verwenden.

Grüße
bastla
Bitte warten ..
Mitglied: Zendara
10.12.2013 um 16:13 Uhr
Hallo Bastla,

danke für deine Antwort das hat mir schon mal sehr weitergeholfen.
Ich hab jetzt zwar noch ein paar Probleme in dem Batchfile welches mit der Frage zutun hat, aber ich muss noch das eigentliche Problem eingrenzen.

Lg
Zendara
Bitte warten ..
Mitglied: Zendara
10.12.2013 um 17:39 Uhr
Ich Bin mir jetzt nicht mal sicher ob diese Batch Datei zu dem von mir erstellten Thema passt, aber vielleicht hat es ja mit dem von dir angesprochenen For /L zu tun.

Den Bereich wo der Fehler entsteht ( damit meine ist jetzt nicht den Inhalt des Sessels der vor meinem PC steht) habe ich mit rem makeirt.
Ich will in einer Variable wieder den Nummernteil ändern was mit Echo angezeigt wird aber die Variable unbrachbar macht.

lg
Zendara
Bitte warten ..
Mitglied: Endoro
10.12.2013 um 20:53 Uhr
Hey, warum sollte eine konstante Zeichenkette mit einer Variablen eine neue Variable ergeben und wie sollte der Interpreter das erkennen? Ich gebe aber zu, dass sich deine Lösung iwie aufdrängt, ich seh' sie bestimmt 2x/Woche
Es gibt noch andere Wege, über Forschleifen und delayed expansion.
lg.
Bitte warten ..
Mitglied: bastla
10.12.2013, aktualisiert um 21:21 Uhr
Hallo Zendara & Endoro!

Es stellt sich ohnehin die Frage, wozu dieses Pseudo-Array gut sein soll - das ließe sich doch zB auch mit einer Liste in einer Textdatei oder auch im Batch selbst - also (vereinfacht) etwa mit
lösen ...

Grüße
bastla
Bitte warten ..
Mitglied: Endoro
10.12.2013 um 21:34 Uhr
Zitat von bastla:
Es stellt sich ohnehin die Frage, wozu dieses Pseudo-Array gut sein soll
Mmm, ich muss die immer verteidigen, diese assoziativen Arrays. Dadurch wird Batch erst richtig schön
lg.
Bitte warten ..
Mitglied: bastla
10.12.2013 um 21:40 Uhr
Hallo Endoro!

Lass ich mir noch einreden, wenn ich den Index nachträglich für eine Auswahl (zB aus einer dynamisch erstellten Dateiliste) verwenden will - aber hier?

Grüße
bastla
Bitte warten ..
Mitglied: Zendara
11.12.2013 um 15:22 Uhr
Hallo,

danke euch für die Antworten und Beispiele.
Ich bin gerade dabei mich durch den von euch empfolenen Befehl For zu lesen.
Bis jetzt kann ich aber nur raten was da passiert.

for /f "tokens=3,4" %%a in ('findstr /bc:"REM DATA" "%~0"') do ( ....

Es werden die Werte aus REM DATA geladen wobei mit token 3,4 auf IP und Namen verwiesen wird.
%%a ist die Variable von IP, %%b von Name.
findstr durchsucht das aktuelle File vom Zeichenanfang nach einer bestimmten Zeichenfolge, aus %~0 kann ich mir keinen Reim machen.

Ich hab jetzt einfach mal ganz frech das umgeschriebene Batchfile übernommen. Der Ping läuft durch und öffnet danach auch das Text File mit den nicht erreichbaren PC´s. Das Fenster kommt auch sobald ein Client nicht erreichbar ist

ping %%a -n 2 | find "TTL=" && (...

Warum die Ergänzung mit >nul beim ping nicht geht verstehe ich nicht. Benötigt "find" die Ausgabe?

Auf jedenfall Danke euch für die Mühe, ich kenn jetzt meinen Batch nicht mehr ;)

Lg
Zendara
Bitte warten ..
Mitglied: bastla
11.12.2013 um 17:02 Uhr
Hallo Zendara!
Bis jetzt kann ich aber nur raten was da passiert.
Gut geraten.
aus %~0 kann ich mir keinen Reim machen.
Das ist die Batchdatei selbst ("findstr" sucht nicht automatisch in der aktuellen Datei und benötigt daher diese Information).
Warum die Ergänzung mit >nul beim ping nicht geht verstehe ich nicht. Benötigt "find" die Ausgabe?
Letzteres natürlich - allerdings sollte
die unerwünschten Ausgaben verschwinden lassen ...

Grüße
bastla
Bitte warten ..
Mitglied: Zendara
11.12.2013 um 17:10 Uhr
Super Danke
Bitte warten ..
Ähnliche Inhalte
Webbrowser

Firefox 68.0.2 nutz Windows-Zertifikatsspeicher nichtmehr

Frage von PN-SchrauberWebbrowser5 Kommentare

Hallo Gemeinde, ich habe mal wieder ein Problem, und zwar nutzen wir für unser Intranet Zertifikate unserer eigenen CA. ...

Neue Wissensbeiträge
Router & Routing

Statische Route dauerhaft einrichten unter Ubuntu 18.04 LTS

Erfahrungsbericht von the-buccaneer vor 7 StundenRouter & Routing2 Kommentare

"Kann ja nicht so schwer sein, unter Ubuntu 18.04 LTS ne statische Route einzurichten", denkt der Windows-Admin und gelegentliche ...

Microsoft

Effect on customer websites and Microsoft services and products in Chrome version 80 or later

Information von Dani vor 12 StundenMicrosoft

Guten Abend zusammen, The Stable release of the Google Chrome web browser (build 80, scheduled for release on February ...

Drucker und Scanner

Kyocera PCL Barcode Flash SD v3.0 Firmware Update installieren

Tipp von Mana vor 2 TagenDrucker und Scanner1 Kommentar

Ich hatte eine vorhandene "PCL Barcode Flash SD v3.0 Type D/E", die bisher in einem Kyocera FS-4200DN verbaut war. ...

Sicherheit
0-day Schwachstelle im Internet Explorer
Information von kgborn vor 7 TagenSicherheit3 Kommentare

In Microsofts Internet Explorer gibt es eine 0-day Schwachstelle in der Scripting Engine, die faktisch alle Browser- und Windows-Versionen ...

Heiß diskutierte Inhalte
Windows Server
Gruppenrichtlinie Basisordner
Frage von opc123Windows Server18 Kommentare

Hallo, es gibt ja die GPO "User Basis Ordner" Ich habe diese auf ein Netzlaufwerk aktiviert. Der Ordner wird ...

LAN, WAN, Wireless
Server LAN nicht möglich, Alternativen?
gelöst Frage von mrlnbllmnnLAN, WAN, Wireless16 Kommentare

Moin, ich stelle demnächst in meinem Keller einen Server auf und möchte diesen natürlich mit meinem Heimnetz verbinden. Ich ...

Batch & Shell
Verschlüsselung von Dateien über .bat
gelöst Frage von ShadowmindBatch & Shell12 Kommentare

Guten tag miteinander! Ich arbeite zurzeit an einem Decoder/Coder in der Batch syntax, um verschiedene Dateien zu verschlüsseln. Leider ...

Exchange Server
Exchange 2019, kein Mailflow mehr möglich, extern sowie intern
Frage von desmondjamesExchange Server10 Kommentare

Hey Leute, ich habe da ein kleines Problem bei einem Exchange Server . Infos zum Server: Version 15.2 ‎(Build ...