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

Liste auslesen und als Variable setzen

Frage Entwicklung Batch & Shell

Mitglied: Peter161

Peter161 (Level 1) - Jetzt verbinden

25.07.2009, aktualisiert 12:38 Uhr, 4171 Aufrufe, 7 Kommentare

Hallo, ich möchte folgende Datei ("\\server\SNW\config.csv") auslesen:
01.
Schule;Grundschule-Zug 
02.
Server1;\\server 
03.
Server;server 
04.
Domaene;GS-ZUG.local 
05.
domaene_dsadd;GS-Zug,dc;local 
06.
Pfad;\\server\SNW 
07.
lbasis;D:\SNW 
08.
Lehrer;Lehrer 
09.
Schueler;Schueler 
10.
Klassen;KLASSEN 
11.
cBasis;SNW 
12.
cLehrer;Lehrer 
13.
cSchueler;Schueler 
14.
gadmin;Admins 
15.
guseradmin;useradmin 
16.
glehrer;lehrer 
17.
gschueler;schueler
Wobei immer das was vor dem ; steht der Variablenname sein soll und das was dahinter steht, der Variablenwert.

Bsp. set "schule=Grundschule-Zug"

Wie lese ich diese Datei möglichst einfach aus?

Danke.

Peter
Mitglied: bastla
25.07.2009 um 15:21 Uhr
Hallo Peter161!

Etwa so:
01.
@echo off & setlocal 
02.
for /f "usebackq tokens=1* delims=;" %%i in ("\\server\SNW\config.csv") do set "%%i=%%j"
Grüße
bastla
Bitte warten ..
Mitglied: Peter161
26.07.2009 um 12:26 Uhr
Hallo Bastla,

erstmal danke.

Leider kommt es zu folgender Meldung:
01.
C:\Dokumente und Einstellungen\Willi>@echo off & setlocal 
02.
for /f "usebackq tokens=1* delims=;" %%i in ("C:\config.csv") do set "%%i=%%j" 
03.
"%%i" ist syntaktisch an dieser Stelle nicht verarbeitbar.
ist da was falsch?

danke. pete
Bitte warten ..
Mitglied: bastla
26.07.2009 um 13:24 Uhr
Hallo Peter161!
ist da was falsch?
Die beiden Zeilen sollten ein Batch sein - wenn Du unmittelbar von der Kommandozeile testen willst, immer nur ein Prozentzeichen verwenden (war aber schon immer so) ...

Grüße
bastla
Bitte warten ..
Mitglied: Peter161
26.07.2009 um 13:25 Uhr
Zitat von bastla:
Hallo Peter161!
> ist da was falsch?
Die beiden Zeilen sollten ein Batch sein - wenn Du unmittelbar von
der Kommandozeile testen willst, immer nur ein Prozentzeichen
verwenden (war aber schon immer so) ...
wusste ich noch nicht

Grüße
bastla

danke, ich versuche es mal so
Bitte warten ..
Mitglied: Peter161
26.07.2009 um 13:32 Uhr
Zitat von Peter161:
> Zitat von bastla:
> ----
> Hallo Peter161!
> > ist da was falsch?
> Die beiden Zeilen sollten ein Batch sein - wenn Du unmittelbar
von
> der Kommandozeile testen willst, immer nur ein Prozentzeichen
> verwenden (war aber schon immer so) ...
wusste ich noch nicht
>
> Grüße
> bastla

danke, ich versuche es mal so

ich hab es so versucht, danke.
habe es so angepasst:
01.
@echo on & setlocal enabledelayedexpansion 
02.
for /f "usebackq tokens=1* delims==" %%i in ("C:\config.ini") do set "%%i=%%j"
wenn ich aber nun echo %server% oder sowas schreib kommt %server% raus. dabei habe ich doch enabledelayedexpansion gemacht...?
Bitte warten ..
Mitglied: bastla
26.07.2009 um 13:38 Uhr
Hallo Peter161!
wenn ich aber nun echo %server% oder sowas schreib kommt %server% raus. dabei habe ich doch enabledelayedexpansion gemacht...?
"delayedExpansion" ist in diesem Zusammenhang kein Thema (und daher auch nicht in meinem Vorschlag enthalten).

Wenn Du tatsächlich an der Kommandozeile testen willst, musst Du auch das "setlocal" weglassen - dieses hat ja genau den Zweck, die Variablen(inhalte) auf die Zeit während der Ausführung des Batches zu beschränken, sodass nach dem Ende des Batches (bzw nach einem expliziten "endlocal") die an den Variablen vorgenommenen Änderungen bzw die neu erstellten Variablen wieder "vergessen" werden; anders formuliert:

Wenn Du in den Batch eine Zeile 3
echo %server%
einfügst, wird auch
server
(der Variableninhalt - da gleichlautend mit dem Variablennamen nicht unbedingt das beste Beispiel ) ausgegeben werden.

Grüße
bastla
Bitte warten ..
Mitglied: Peter161
26.07.2009 um 13:55 Uhr
achso, danke nun ist alles gelöst- Vielleicht muss ich mich nochmal wegen wget melden oder dsadd spinnt zur zeit auch mal wieder, da kommt immer das der server ne referenzauswertung zurückgeben hat. bb
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
Variable setzen können während timeout (3)

Frage von DontFlameMeITryMyBest zum Thema Batch & Shell ...

PHP
gelöst HTML Dropdownmenü auslesen und in PHP als Variable übergeben (35)

Frage von ITFlori zum Thema PHP ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...