gelöst CMD - Eintrag von Werten in Variablenform

Mitglied: Juergenl

Juergenl (Level 1) - Jetzt verbinden

28.08.2007, aktualisiert 30.08.2007, 3881 Aufrufe, 2 Kommentare

FOR-Konstrukt, "Optionen ... , eol="

Guten Tag allerseits,

ich bin sehr froh über die kürzlich hier erschienene Anweisung von Heysel, ein Netzwerk per Script unter Verwendung von 'RMTSHARE' zu starten. Bei der Umsetzung der Aufgabe stoße ich aber wieder auf rein handwerkliche Schwierierigkeiten unter CMD (die mit der Netzwerkaufgabe nichts zu tun haben.)

Wegen besserer Übersichtlichkeit will ich sämtliche Vorgaben des Netzwerkes (Freigaben, Laufwerkszuweisungen pp) aus einer einheitlichen Textdatei auslesen:

"FOR /F "eol=0 tokens=2,3,4,5,6 delims=;" %%i IN (%nbasfile%) DO .... "

dabei sollen - je nach Workstation - unterschiedliche Zeilenbereiche der Textdatei (%nbasfile%) ausgewertet werden. Bei direktem Eintrag des Zeilenkopfes unter "eol= ... " (etwa 0 oder 1) ist das kein Problem. Dies tritt vielmehr auf, wenn ich diesen Wert für 'eol' als Variable eintragen will:

Der Eintrag "eol=%sperrmrk% .... " führt nämlich zu einem Syntaxfehler, der dieses Konstrukt unbrauchbar macht, so daß ich zu umständlichen bedingten GOTO-Anweisungen greifen müßte.

Eine zwar nur ähnliche Unsicherheit ergibt sich für mich bei RMTSHARE, wenn ich dort die Option /REMARK: mit der Variablen %Kommentar% belegen will. Das führt zwar nicht zu einem Syntaxfehler, aber ich kann die korrekte Wirkungsweise auch nicht kontrollieren.

Ich bitte um Euren Rat, insbesondere in der Frage, ob und wie ich den Wert von 'eol=' als Variable eingeben könnte.

Danke im Voraus und beste Grüße

Jürgen
Mitglied: Biber
29.08.2007 um 19:12 Uhr
Moin Juergenl,

wenn du die "Optonen", also die Werte der Schlüsselworte "eol","Delims", "tokens" etc. per Variable setzen willst, musst Du eine weitere Instanz der cmd.exe öffnen.

Also z.B.
--------> das würde die "innere" FOR-Anweisung nacheinander mit der EOL-Werten [eol=0 eol=# eol=;] ausführen.
[das Semikolon muss in Anführungszeichen, da es sonst ignoriert werden würde,
deshalb diese Auflösung mit %%~x statt %%x]


Aber:
Falls Du in dem "DO..."-Teil der inneren For-Anweisung einer Variablen etwas zuweisen willst, wird dieser Wert hinterher nicht sichtbar sein. Denn dieses Set wiederum macht die mit cmd/c neu geöffnete Instanz.
Ein "Echo %%i %%j %%k ... >>logfile.txt" dagegen macht keine Probleme.

Grüße
Biber
Bitte warten ..
Mitglied: Juergenl
30.08.2007 um 12:09 Uhr
Hallo Biber und Gruß in die Runde,

besten Dank für diese prompte und wiederum wohlfundierte Antwort! (In meiner Ahnungslosigkeit habe ich mit dieser Frage offenbar ja etwas ziemlich Schweres losgetreten .. )

Ich werde also diesen für mich neuen Aspekt von CMD schnellstmöglich unter meiner Umgebung testen und versuchen, das Konstrukt besser zu verstehen.

Danke nochmals und beste Grüße

Jürgen
<JuergenL>
Bitte warten ..
Heiß diskutierte Inhalte
LAN, WAN, Wireless
Allgemeiner Fehler
jensgebkenQuestionLAN, WAN, Wireless16 Comments

Hallo Gemeinschaft, habe bei einem PC folgendes Ping Problem über ipconfig erhalte ich die IP 192.168.178.37 will ich diesen ...

LAN, WAN, Wireless
2 Lan Dosen (Unterputz) miteinander Verbinden
solved RickHHQuestionLAN, WAN, Wireless12 Comments

Moin zusammen, ich würde mir gerne auf dem Dachboden 2 Landosen in einen Raum Bauen. Ein Netzwerkkabel geht hoch, ...

Windows User Management
Active Directory Gruppen auslesen
solved MMaiwaldQuestionWindows User Management12 Comments

Guten Abend, ich habe mir das Codeschnipsel geschnappt und möchte dieses noch erweitern. Dazu möchte ich noch die Beschreibung ...

Microsoft
Gespeichertes Eventlog per Powershell durchsuchen
solved DerWoWussteQuestionMicrosoft12 Comments

Werte Kollegen! Ich archiviere die Securitylogs des Domänencontrollers jeden Tag. Wenn ich nun etwas im Log von z.B. vorgestern ...

Windows User Management
Powershell nach Gruppe und deren Mitglieder suchen
solved axolotlQuestionWindows User Management10 Comments

Hallo Admin' s, hier mein Object in der Active Directory. Wie kann ich jetzt gezielt nach der Gruppe "OU=Verwaltung" ...

Off Topic
Wie von Kundschaft verabschieden
FFSephirothQuestionOff Topic10 Comments

Hallo Kollegen, nach fast 6 Jahren wechsle ich den Arbeitgeber zum Jahresende. In diesen 6 Jahren habe zu meiner ...

Ähnliche Inhalte
Microsoft Office

Leere Zellen zählen zwischen einem gesuchten Wert und seinem nächsten Eintrag?

gelöst mreskeFrageMicrosoft Office1 Kommentar

Hallo, ich komme leider mit folgender Suche nicht weiter: Ich möchte mir die Anzahl der leeren Zellen in Spalte ...

Batch & Shell

XML Datei über cmd auslesen - nur letzter Wert wird wiedergegeben

gelöst moelloFrageBatch & Shell7 Kommentare

Guten Tag, ich möchte eine XML-Datei über cmd auslesen. Habe mich durch Google gekämpft, aber leider noch keine finale ...

Windows Server

DNS Eintrag als dynamischen Eintrag hinterlegen

clonexFrageWindows Server6 Kommentare

Hallo, ich habe auf dem DC einen DNS Aktiv. Auf diesem wird unsere Domain (ich nenne sie nun meine.de). ...

Exchange Server

SPF Eintrag

gelöst KopflosFrageExchange Server8 Kommentare

Hallo zusammen, erste Frage: Ist es unbedingt nötig einen SPF Eintrag zu setzen? zweite Frage: Kann man mit dem ...

Windows 10

Verwaister GPO-Eintrag

bremserfhfbFrageWindows 102 Kommentare

Ich habe einen Rechner mit Windows10, der in einer Domäne hängt. Dieser versucht immer noch eine Softwareinstallation durchzuführen, aus ...

Batch & Shell

CMD startet CMD als Admin inkl. Skript

gelöst K-ist-KFrageBatch & Shell6 Kommentare

Hallo, ich möchte ein Skript (ohne Admin) starten, das ein Skript startet (und als Admin ausführt) Skript A: (liegt ...

Berechtigungs- und IdentitätsmanagementBerechtigungs- und IdentitätsmanagementWebdienste und -serverWebdienste und -serverDatenbankenDatenbankenMonitoring & SupportMonitoring & SupportHybrid CloudHybrid CloudSmall Business ITSmall Business IT