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

CMD - Eintrag von Werten in Variablenform

Frage Entwicklung Batch & Shell

Mitglied: Juergenl

Juergenl (Level 1) - Jetzt verbinden

28.08.2007, aktualisiert 30.08.2007, 3735 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.
01.
For %%x in (0 # ";") do cmd /c FOR /F "eol=%%~x tokens=2,3,4,5,6 delims=;" %%i IN (%nbasfile%) DO .... 
--------> 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 ..
Ähnliche Inhalte
Microsoft Office
gelöst Micorsoft Excel: Variable Anzeige von mehreren Werten anhand von Stammdaten (1)

Frage von sammy65 zum Thema Microsoft Office ...

Batch & Shell
gelöst Mit CMD Auf Galaxy S7 (Android 7.0) zugreifen (8)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Batch & Shell
Batch, CMD - Prüfen ob ein Dienst existiert, nicht läuft (4)

Frage von RycoDePsyco zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(6)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
Benutzer lässt sich nur an einem Clientcomputer anmelden (11)

Frage von Ammann zum Thema Windows Server ...

Hosting & Housing
gelöst Webserver bei WIX, aber DNS Server wo anders (9)

Frage von laster zum Thema Hosting & Housing ...

Batch & Shell
gelöst Gruppenzugehörigkeit von AD Usern ermitteln - die Perfektion fehlt (9)

Frage von Stefan007 zum Thema Batch & Shell ...