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

mehrere Variable aus Datei auslesen

Frage Entwicklung Batch & Shell

Mitglied: MoonXIT

MoonXIT (Level 1) - Jetzt verbinden

17.08.2009, aktualisiert 12:27 Uhr, 5155 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 ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Batch & Shell
gelöst Variable aus ini Datei auslesen und weiterverwenden (17)

Frage von n0cturne zum Thema Batch & Shell ...

Batch & Shell
gelöst PowerShell, Log Datei auslesen, bei Änderungen E-Mail senden (12)

Frage von swissbull zum Thema Batch & Shell ...

Microsoft Office
Excel Dateien durchsuchen und Werte einzeln in neue Excel Datei auslesen (1)

Frage von krischanii zum Thema Microsoft Office ...

Batch & Shell
gelöst BATCH ini Datei Datei auslesen (2)

Frage von Juergen42 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...