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.

Mitglied: 25521

25521 (Level 1)

20.01.2007, aktualisiert 17:51 Uhr, 8213 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

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 14 StundenWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

iOS
IOS 11.2.6 verfügbar
Information von sabines vor 20 StundeniOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 TagSicherheit8 Kommentare

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 1 TagInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Heiß diskutierte Inhalte
Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server25 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless22 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...

SAN, NAS, DAS
Qnap TS-453S Pro - Anbindung Active Directory
Frage von JuckieSAN, NAS, DAS13 Kommentare

Hallo zusammen, ich habe hier eine Qnap TS-453S Pro die sich mal so absolut gar nicht in das Active ...