Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

mehrere Variable aus Datei auslesen

Frage Entwicklung Batch & Shell

Mitglied: MoonXIT

MoonXIT (Level 1) - Jetzt verbinden

17.08.2009, aktualisiert 12:27 Uhr, 5172 Aufrufe, 5 Kommentare

Hallo zusammen

Mein Ziel:

Ich habe ein Programm geschrieben, dass Daten in eine Konfiguartionsdatei reinschreibt. Nun möchte ich, dass mein Batchfile, dass ich zum Snapshoten brauche diese Datei ausliest und den Wert der Variablen ausliest.

Ausgangslage:

Momentan habe ich ein File das Test.txt heisst, die auf C:\ liegt. In dieser Datei stehen zwei Zeilen mit zwei Werten z.B.

- PC01
- PC02

Dann habe ein Patchfile, dass Textfile auslesen soll. Dabei habe ich beim googeln den folgenden Code gefunden.

for /f %%a IN (C:\test.txt) do set VMNAME1= %%a
for /f %%b IN (C:\test.txt) do set VMNAME2= %%b

Problem:

Leider passiert es, dass nun die beide Batchvariablen den Wert PC02 haben. Allerdings möchte ich, dass die Variable VMNAME1z.B. den Wert PC01 hat und VMNAME2 z.B. PC02 (Die beiden PCxx Werte sind variablen beschrieben vom Ursprungsprogramm). Weiss jemand, wie ich die Variablen korrekt auszulesen habe.

danke

MOONXIT
Mitglied: Biber
17.08.2009 um 12:38 Uhr
Moin MoonXIT,

wenn jede Zeile in eine andere Variable "übertragen" werden soll, dann musst Du es nach diesem Muster machen:

01.
@echo off & setlocal 
02.
for /f %%a IN (C:\test.txt) do call :SetMirWatt %%a 
03.
goto :eof 
04.
 
05.
:SetMirWatt  
06.
if not defined VMNAME1 set "VMNAME1=%1" & goto :eof 
07.
if not defined VMNAME2 set "VMNAME2=%1" & goto :eof 
08.
:: ... 
09.
if not defined VMNAMEn set "VMNAMEn=%1" & goto :eof
Okay, wenn Du in der Praxis ja nun keine 200 VMs nutzen wirst, dann ist es vertretbar und viel wichtiger: halbwegs wartbar.

Grüße
Biber
[Edit] Tippfehlerberichtigung siehe unten ("call SetMirWatt:%%a). [/Edit]
[Edit ii] Tippfehlerberichtigung ii siehe unten ("In Zeile 8 dann bitte noch 2 davon. ") [/Edit ii]
Bitte warten ..
Mitglied: MoonXIT
17.08.2009 um 13:06 Uhr
Leider kommt bei mir immer :

Der Befehl "setmirwatt" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

was habe ich falsch gemacht??

Ich habe deinen Befehl 1:1 kopiert.
Bitte warten ..
Mitglied: MoonXIT
17.08.2009 um 13:16 Uhr
ok habs kapiert: hatte einen kleinen Fehler im Code unter:

for /f %%a IN (C:\test.txt) do call SetMirWatt %%a

muss bei SetMirWatt nein ein : eingebaut werden.

also:

for /f %%a IN (C:\test.txt) do call :SetMirWatt %%a
Bitte warten ..
Mitglied: Biber
17.08.2009 um 15:19 Uhr
Uuuupps, sorry, MoonXIT,

bei mehrzeiligen Batchdateien habe ich oft in den unterschiedlichsten Zeilen solche Tippfehler....

Ich trage den Doppelpunkt oben in der Skizze nach.

Grüße
Biber
Bitte warten ..
Mitglied: 81825
17.08.2009 um 15:24 Uhr
Zitat von Biber:
Ich trage den Doppelpunkt oben in der Skizze nach.

In Zeile 8 dann bitte noch 2 davon.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst In einer Batch-Datei einen variablen Teil eines Dateinamens auslesen (5)

Frage von dh0815 zum Thema Batch & Shell ...

PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

XML
gelöst Vbs - simple XML Datei auslesen (4)

Frage von DeeJayBee zum Thema XML ...

Neue Wissensbeiträge
Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Humor (lol)

Wohnt jemand in Belgien und kann nicht mehr ruhig ausschlafen?

(6)

Information von LordGurke zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (15)

Frage von Lynkon zum Thema TK-Netze & Geräte ...