Top-Themen

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

Variable aus Datei lesen? Einfacher weg gesucht.

Frage Entwicklung Batch & Shell

Mitglied: 25521

25521 (Level 1)

20.01.2007, aktualisiert 17:51 Uhr, 8209 Aufrufe, 4 Kommentare

Wie kann ich aus einer Datei eine variable auslesen?

Hallo erst mal,

ich habe eine Datei namens Conf.wcl in der steht 1 oder 2 zeichen. A B ... Y Z AA AB ... AY AZ

Nun müste ich nur den weg wiessen wie ich den oder die Buchstaben aus der Datei auslesen kann und einer Variable in einer Batch zuweisen kann. Hintergund, Abhängieg von dem was in Conf.wcl steht soll entschieden werden ob die Dateine gesichert werden müssen und wenn ja, legen die Buchstaben mit fest wohin.
Mitglied: bastla
20.01.2007 um 08:21 Uhr
Hallo Telena!

Versuch
01.
set code= 
02.
for /f %%i in (conf.wcl) do if not defined code set code=%%i
Die etwas aufwändigere Schreibweise soll sicher stellen, dass nur die erste (nicht leere) Zeile verwendet wird; danach ist die Variable "code" schon "defined" (vorhanden) und wird nicht mit Einträgen aus etwaigen weiteren (wenn auch unbeabsichtigten) Zeilen in "conf.wcl" überschrieben.

HTH
bastla
Bitte warten ..
Mitglied: Biber
20.01.2007 um 13:48 Uhr
Moin Telena,

ergänzend zu bastla's Lösung noch ein paar Anmerkungen zu Deiner Conf-Datei.
ich habe eine Datei namens Conf.wcl in der steht 1 oder 2 zeichen..
Bin nicht sicher, ob ich das richtig verstehe....
Wenn wirklich die ganze conf.wcl nur aus dieser einen Zeile besteht, dann geht es am einfachsten mit
01.
set /p neueVariable=<Conf.wcl
Wenn die Conf.wcl halbwegs pflegbar/lesbar konzipiert ist und sinngemäß wie eine *.ini-Datei aussieht
01.
.... 
02.
; das ist eine conf.wcl-Datei 
03.
; Da können Kommentarzeilen drin stehen, damit ein Leser weiß, was er ändern kann oder nicht ändern darf 
04.
;  da können [Sections] enthalten sein, um eine Eindeutigkeit von Einträgen sicherzustellen etc. 
05.
;Beispiel: 
06.
[Sicherung] 
07.
; So könnte 1 bedeuten "Ja" und 0/kein Eintrag "nicht sichern" 
08.
Sichern=1 
09.
BackupPfad=X:\Archiv
Wenn es als so in der Art aussehen würde, dann kannst du einzelne Zeilen-Einträge gezielt mit SET [ohne /P ] in geleichnamige Variablen setzen, wenn Du die relevante Zeile mit FindStr.exe ermittelst:
01.
:: --ermitteln und Setzen mit einer FOR /F-Anweisung- 
02.
FOR /F %%i in ('findstr  /i "BackupPfad" conf.wcl')  do Set %%i 
03.
:: dann steht der Wert in einer Variablen %BackupPfad%
Gruß
Biber
Bitte warten ..
Mitglied: 25521
20.01.2007 um 14:45 Uhr
Danke erst mal euch 2,

Ja die Conf.wcl ist selbst erdacht und es stehen nur die Bustaben drin in Zeile 1. Sinn, wenn dort stände T und der Benutzer möchte aber mit Konfiguration B starten. Dann wird erst die Conf.wcl geladen. Der Inhalt mit der Auswahl des Benutzers verglichen. So da B und T unterschiedlich sind wird einfach die aktuelle Config nach Bachup\WTF_“Inhalt aus Conf.wcl“ gesichert und danach weil ja der Benutzer auf Config B starten will, Der Inhalt von Backup/WTF_B nach rauskopiert und die alte Config ersäst.

Ich habe zwar schon ein Skript das dieses machen kann, nur leider ist es nur in der Lage 2 Konfigurationen zu unterstützen.

01.
@Echo off 
02.
Rem *** Start vorbereitungen *** 
03.
Rem **************************** 
04.
IF exist Backup\Loader.log Goto Start_0 
05.
Echo Log erstellt am %date% um %time% > Backup\Loader.log 
06.
 
07.
:Start_0 
08.
Echo ' >> Backup\Loader.log 
09.
Echo Start am %date% um %time% >> Backup\Loader.log 
10.
tasklist | find "WoW.exe" >nul 
11.
IF %errorlevel% EQU 0 Goto Fehler_3 
12.
 
13.
IF exist WTF\Conf.A Goto Start_1 
14.
IF exist WTF\Conf.B Goto Start_1 
15.
Goto Fehler_1 
16.
 
17.
:Start_1 
18.
IF /I (%1) EQU (/A) Goto Spiel_A 
19.
IF /I (%1) EQU (/B) Goto Spiel_B 
20.
 
21.
If /I (%1) EQU (/Hilfe) Goto Help_1 
22.
If /I (%1) EQU (/Help) Goto Help_1 
23.
If /I (%1) EQU (/?) Goto Help_1 
24.
Goto Fehler_2 
25.
 
26.
Rem ---------------------------------------------------------------------- 
27.
 
28.
 
29.
Rem *** Mit Config A Spielen *** 
30.
Rem **************************** 
31.
:Spiel_A 
32.
Echo Bereite das Starten von World of Warcraft mit Config A vor. 
33.
Echo %time% Bereite das Starten von World of Warcraft mit Config A vor. >> Backup\Loader.log 
34.
IF exist WTF\Conf.A Goto Ende 
35.
 
36.
Rem *** Sichern von Config B *** 
37.
Echo Sichere die Configuration. 
38.
Echo %time% Sichere Configuration B Nach Backup\ >> Backup\Loader.log 
39.
CD Backup 
40.
rmdir Interface_B /S /Q 
41.
mkdir Interface_B 
42.
CD.. 
43.
XCOPY Interface /E /K /R Backup\Interface_B /Q 
44.
 
45.
CD Backup 
46.
rmdir WTF_B /S /Q 
47.
mkdir WTF_B 
48.
CD.. 
49.
XCOPY WTF /E /K /R Backup\WTF_B /Q 
50.
Echo %time% Sichere OK >> Backup\Loader.log 
51.
 
52.
Rem *** Alte Configuration Löschen *** 
53.
Echo Loesche INTERFACE und WTF... 
54.
Echo %time% Löschen der alten Configuration und laden von Configuration A >> Backup\Loader.log 
55.
rmdir Interface /S /Q 
56.
rmdir WTF /S /Q 
57.
 
58.
Echo Erstelle Vezeichnisse. 
59.
mkdir Interface 
60.
mkdir WTF 
61.
 
62.
Echo Copiere Interface und einstellungen... 
63.
XCOPY Backup\Interface_A /E /K /R Interface /Q 
64.
XCOPY Backup\WTF_A /E /K /R WTF /Q 
65.
Echo %time% Laden OK >> Backup\Loader.log 
66.
Goto Ende 
67.
 
68.
 
69.
Rem *** Mit Config B Spielen *** 
70.
Rem **************************** 
71.
:Spiel_B 
72.
Echo Bereite das Starten von World of Warcraft mit Config B vor. 
73.
Echo %time% Bereite das Starten von World of Warcraft mit Config B vor. >> Backup\Loader.log 
74.
IF exist WTF\Conf.B Goto Ende 
75.
 
76.
Rem *** Sichern von Config A *** 
77.
Echo Sichere die Configuration. 
78.
Echo %time% Sichere Configuration A Nach Backup\ >> Backup\Loader.log 
79.
CD Backup 
80.
rmdir Interface_A /S /Q 
81.
mkdir Interface_A 
82.
CD.. 
83.
XCOPY Interface /E /K /R Backup\Interface_A /Q 
84.
 
85.
CD Backup 
86.
rmdir WTF_A /S /Q 
87.
mkdir WTF_A 
88.
CD.. 
89.
XCOPY WTF /E /K /R Backup\WTF_A /Q 
90.
Echo %time% Sichere OK >> Backup\Loader.log 
91.
 
92.
Rem *** Alte Configuration Löschen *** 
93.
Echo Loesche INTERFACE und WTF... 
94.
Echo %time% Löschen der alten Configuration und laden von Configuration B >> Backup\Loader.log 
95.
rmdir Interface /S /Q 
96.
rmdir WTF /S /Q 
97.
 
98.
Echo Erstelle Vezeichnisse. 
99.
mkdir Interface 
100.
mkdir WTF 
101.
 
102.
Echo Copiere Interface und einstellungen... 
103.
XCOPY Backup\Interface_B /E /K /R Interface /Q 
104.
XCOPY Backup\WTF_B /E /K /R WTF /Q 
105.
Echo %time% Laden OK >> Backup\Loader.log 
106.
Goto Ende 
107.
 
108.
Rem *** Fehler Meldungen *** 
109.
:Fehler_1 
110.
Echo %time% Fehler code 1 >> Backup\Loader.log 
111.
Echo Keine Configuration zum sichern gefunden. 
112.
Echo Um die Configuratin zu erkennen muss im WTF Ordner eine Datei Conf.A oder Conf.B existieren. 
113.
Goto F_Ende 
114.
 
115.
:Fehler_2 
116.
Echo %time% Fehler code 2 >> Backup\Loader.log 
117.
Echo Fehler! 
118.
Echo Keine Configuration zum starten angegeben. 
119.
Echo Gültiege eingaben sind /A /B /Hilfe /Help /? 
120.
Goto F_Ende 
121.
 
122.
:Fehler_3 
123.
Echo %time% Fehler code 3 >> Backup\Loader.log 
124.
Echo Fehler! 
125.
Echo World of Warcraft wird bereits ausgeführt. 
126.
Echo Um über den Loader zu starten darf World of Warcraft nicht ausgeführt werden. 
127.
Echo Bitte beenden sie World of Warcraft und starten dan über den Loader neu. 
128.
Goto F_Ende 
129.
 
130.
Rem ************************* 
131.
 
132.
:Help_1 
133.
Echo Die Hilfe ist noch nicht verfügbar. 
134.
 
135.
:F_Ende 
136.
Echo Programm Ende. 
137.
Pause 
138.
exit /B 
139.
 
140.
:Ende 
141.
Echo Starte World of Warcraft - Viel spass beim spielen! 
142.
Echo %time% Configuration OK Starte World of Warcraft. >> Backup\Loader.log 
143.
Start Launcher.exe
Da hatte ich die Idee, wenn ich den Buchstaben der Config in eine feste datei rein schreibe, eben Conf.wcl. Dann bin ich in der Lage fast unendlich viele Konfigurationen zu benutzen.
Bitte warten ..
Mitglied: 25521
20.01.2007 um 17:51 Uhr
Nur zur Vervollständigung.

Habe jetzt diesen teil geschaffen.

01.
Rem *** Alte Interface Sichern **** 
02.
:AIS ;;<--- Rein 
03.
IF EXIST WTF\Conf.wcl Goto SRDY 
04.
Set LAST_F=Keine Conf.wcl gefunden 
05.
Goto :eof 
06.
:SRDY 
07.
FOR /F %%i in ('findstr /i "Sichern" WTF\Conf.wcl') do Set %%i 
08.
IF exist Backup\WTF_%Sichern% Call :DWTFS 
09.
IF exist Backup\Interface_%Sichern% Call :DINTERS 
10.
XCOPY WTF /E /K /R Backup\WTF_%Sichern% /I /Q 
11.
XCOPY Interface /E /K /R Backup\Interface_%Sichern% /I /Q 
12.
Set LAST_F=OK 
13.
Goto :eof ;;---> Raus 
14.
:DWTFS 
15.
CD Backup 
16.
RMDIR WTF_%Sichern% /S /Q 
17.
MKDIR WTF_%Sichern% 
18.
CD.. 
19.
Goto :eof 
20.
:DINTERS 
21.
CD Backup 
22.
RMDIR Interface_%Sichern% /S /Q 
23.
MKDIR Interface_%Sichern% 
24.
CD.. 
25.
Goto :eof 
26.
Rem *******************************

Danke noch mal an Biber.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Variable aus Datei lesen ohne Datenverlust
gelöst Frage von Frank1993Batch & Shell5 Kommentare

Hallo Leute, ich habe ein Problem beim einlesen einer Variable aus einer Datei. Ich finde keinen Lösungsweg, deswegen wende ...

Ausbildung
Einfacher Netzwerk-Simulator gesucht
Frage von quin83Ausbildung7 Kommentare

Hallo, ich möchte unseren Azubis (FiSi, 1. Lehrjahr) die Netzwerk-Grundlagen vermitteln. Also die grundlegenden Dinge wie DNS, DHCP, Routing, ...

Windows Tools
Einfache Adressverwaltung mit Kategorisierung gesucht
gelöst Frage von MOS6581Windows Tools2 Kommentare

Hallo liebe Mitstreiter, ich suche für den Eigeneinsatz eine einfache Adressverwaltung. Anforderung ist eigentlich nur, die vorhandenen, maximal unübersichtlichen ...

Netzwerkmanagement
Einfacher Router mit QOS gesucht
gelöst Frage von SPAGHETTINetzwerkmanagement14 Kommentare

Hallo Zusammen, ich suche ein Router bei dem sich grafisch relativ einfach, sämtliche QOS Regeln und VLAN Einstellungen, einstellen ...

Neue Wissensbeiträge
Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 5 StundenWindows 101 Kommentar

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 7 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 1 TagViren und Trojaner2 Kommentare

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Brainstorming, einfachste Option 1 getrenntes LAN (mit WAN zugang)
Frage von 132954LAN, WAN, Wireless13 Kommentare

Hi, folgendes: Wir bekommen eine Glasfaser Leitung, Und das sollte Optional so aussehen: Ein Modem/Router für das WAN, ein ...

Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Netzwerkgrundlagen
Hi eine blöde frage. xD
Frage von 132954Netzwerkgrundlagen12 Kommentare

Also: Habe 2012 r2 essentials neuinstalliert, allerdings installiert diese version ja gleich diesen gangen AD kram mit, den hab ...