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

Einstellungen von INI-Datei für BAT-Datei verwenden

Frage Entwicklung Batch & Shell

Mitglied: JK87

JK87 (Level 1) - Jetzt verbinden

30.09.2005, aktualisiert 30.01.2006, 6542 Aufrufe, 5 Kommentare

Hallo,

ich möchte Werte aus einer INI-Datei in meiner BAT-Datei verwenden. Habe jedoch folgendes Prolem, dass nicht nur die Werte sondern auch die Bezeichnung mit importiert wird.

---BAT-Datei-Auszug---

set /p proxy= | type proxconfig.ini | find "Proxy="

(for /f %%i in ('Ping -n 1 %proxy% ^|Find "Antwort"') do goto yes)||goto no

---BAT-Datei-Auszug-ENDE---

Das Ergebnis sieht so aus:
<img src='/images/articles/e511a85f7ee2c03bf66c7c4aabd41827-bat_ergebnis.gif' align='default' hspace='0' vspace='0' border='0'>

Ich möchte aber nur den Wert, sprich "10.10.0.1", nicht auch das "Proxy=".

Danke für alle Antworten im Voraus

JK
Mitglied: Biber
30.09.2005 um 19:33 Uhr
01.
... 
02.
for /f "tokens=1,2 delims==" %%i in ('type proxconfig.ini^|find /i "Proxy="') do Set Proxy=%%j  
03.
:: Jetzt steht es in der Variablen Proxy (falls es in der *.ini-Datei war) 
04.
:: Allerdings alles nach dem Gleichheitszeichen.  
05.
:: Wenn da keine Leerzeichen stehen, dann ok- 
06.
::Sonst noch eine Zeile zum Leerzeichen entfernen 
07.
Set "Proxy=%Proxy: =%" &&  rem Ersetze alle Leerzeichen durch Nix; siehe Set /? 
08.
::Test: 
09.
echo Variable Proxy ist jetzt [%Proxy%] 
10.
...
Bitte warten ..
Mitglied: nullplan001
19.11.2005 um 12:04 Uhr
Leider nicht, Biber. Mein Testergebnis mit deinem Versuch war proxy="==10.10.0.1". Das war nicht so ganz das Ziel.
@JK87: Dein "Set"-Befehl kann so bleiben, wie er ist. Hier ist meine Lösung:
01.
>echo %proxy% 
02.
Proxy=10.10.0.1 
03.
>set proxy=%proxy:~6%
Alles bis ausschließlich Offset 6 wird gelöscht. Den Offset erhälst du, wenn du alle Zeichen bis zum gewünschten zählst und die Zahl dekrementierst (mit 1 subtrahierst).
Bitte warten ..
Mitglied: Biber
19.11.2005 um 14:09 Uhr
Moin nullplan001,
nun bin ich aber verwirrt...
Ich habe den oben abgedruckten Schnipsel (um eine neue erste Zeile "@echo off & Find /v "::" %0" ergänzt) unter dem Namen "TestProxy.bat" gespeichert.
Mit einer Proxconfig.ini des Inhalts:
01.
[meinProxy] 
02.
Proxy=10.10.0.1
ergibt sich beim Aufruf:
Z:\>
>TestProxy.bat
TESTPROXY.BAT
for /f "tokens=1,2 delims==" %%i in ('type proxconfig.ini^|find /i "Proxy="') do Set Proxy=%%j
Set "Proxy=%Proxy: =%" && rem Ersetze alle Leerzeichen durch Nix; siehe Set /?
echo Debugoutput: Variable Proxy ist jetzt [%Proxy%]
Debugoutput: Variable Proxy ist jetzt [10.10.0.1]
<code>
..as should do...

Wenn ich allerdings Deine Variante probiere:
@echo ^%proxy^%: [%proxy%] ...^%proxy:~-6^%: [%proxy:~-6%]
%proxy%: [Proxy=10.10.0.1] ...%proxy:~-6%: [10.0.1]
bekomme ich etwas anderes raus. Ich habe es grad unter W2K versucht.

[Edit] Lesefehler. Siehe unten.[/Edit]

Funktionieren würde natürlich (ohne das Minuszeichen):
>@echo ^%proxy^%: [%proxy%] ...^%proxy:~6^%: [%proxy:~6%]
%proxy%: [Proxy=10.10.0.1] ...%proxy:~6%: [10.10.0.1]

Grüße Biber
Bitte warten ..
Mitglied: nullplan001
19.11.2005 um 20:35 Uhr
Hi all,
@Biber:
Ich glaube, das Minus entsprang deiner Phantasie. Guck nochmal richtig hin. Ich habe den Code seit meinem Post nicht editiert. Geschworen. Aber stimmt, mit Minus gibt es Müll, genaugenommen die hinteren sechs Zeichen. Wenn du aber schon ein Minus dazuerfindest, kannst du auch gleich die sechs umdrehen. Dann stimmts wieder:
<tt>[%proxy:-9%]:[10.10.0.1].</tt>
Aber nur, solange die IP-Adresse genau 9 Zeichen lang ist. Dazu gibt's aber INI-Dateien, dass die IP auch mal länger werden kann, z.B.: 192.168.1.205. Mit dem wegradieren des Wortes "Proxy=" kommst du aber in jedem Fall ans Ziel, selbst wenn die Zeile lautet: "Proxy=Ich.bin.dooof.kann.noch.nicht.mal.dooof.schreiben" Dann wird die Verbindungssoftware aber rummopen, dass es keinen Computer des gegebenen Namens gibt.
Bitte warten ..
Mitglied: Biber
19.11.2005 um 20:45 Uhr
Sorry 1000x, nullplan,
mit dem Minus hab ich mich wirklich verlesen. Nehme alles zurück - dann hattest Du recht: mit "substring(proxy, 6)" oder wie auch immer die Syntax dafür im CMD-Interpreter heißt, funktioniert es natürlich. War keine Absicht. Wirklich nur Lesefehler.

Spricht auch nichts dagegen, Deine Lösung zu nehmen. Der String "Proxy=", der ja gesucht wird, ist nun wirklich immer 6 Zeichen lang.

Schönen Abend
Biber
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst Terminalserver .ini Datei unter C:Windows (8)

Frage von geocast zum Thema Windows Server ...

Batch & Shell
Mehrere.csv Dateien zusammenfügen zu einer Datei mit bat (4)

Frage von Piotrney zum Thema Batch & Shell ...

Windows Server
gelöst Sichtbares Ausführen einer BAT-Datei mittels GPOs (10)

Frage von DasWombat1993 zum Thema Windows Server ...

Windows Server
Nutzer per Bat-Datei zum AD hinzufügen (1)

Frage von elsa-ebs zum Thema Windows Server ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
gelöst Raid-Controller (Areca) Datenverlust trotz R5 (14)

Frage von sebastian2608 zum Thema Festplatten, SSD, Raid ...

Webentwicklung
Aktuellen Mitarbeiter auf Homepage anzeigen (13)

Frage von alemanne21 zum Thema Webentwicklung ...

Microsoft Office
gelöst Office 365 Pro Domäne einrichten OHNE Webseite (9)

Frage von thklemm zum Thema Microsoft Office ...

Server-Hardware
HP ProLiant DL380 G7, POST Error: 1785-Drive Array not Configured (9)

Frage von Paderman zum Thema Server-Hardware ...