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 Variablen aus ini file in batch einlesen

Mitglied: Mit.ohne.Ahnung

Mit.ohne.Ahnung (Level 1) - Jetzt verbinden

06.09.2013, aktualisiert 11:04 Uhr, 2328 Aufrufe, 17 Kommentare

Ein freundliches goooood Morning,

hab mal wieder ein Problemchen was ich nicht verstehe.....
ich möchte Variablen aus einer ini einlesen.... aber das script macht was anderes???

Hier vielleicht nur mal das Beispiel mit mit "net use"

meine config.ini:
set DIR_CMD=C:\solutio\Server\PostgreSQL\bin
set PGHOST=Schulungsserver
set Notfall_PGHOST=NotServer
set PGDATABASE=solutiodb
set PGUSER=postgres
set PGPASSWORD=12345
set PGPORT=5432
set DST_PATH=\\%NOTFALL_PGHOST%\Charly$
set DST_FILE=ProduktivServer.backup
set CMD_DUMP=%DIR_CMD%\pg_dump.exe
set CMD_REST=%DIR_CMD%\pg_restore.exe
set CMD_SQL=%DIR_CMD%\psql.exe
set CMD_DUMP_ALL=%DIR_CMD%\pg_dumpall.exe
set NET_USE_?=z

hier einen Auszug von meinem mein
01.
@echo off
02.
 
03.
set "inifile=config.ini
04.
 
05.
for /f "tokens=2 delims==" %%i in ('findstr "/c:Notfall_PGHOST=" \\127.0.0.1\charly$\Charly\TEST_mit_INI\config.ini') do set NOTFALL_PGHOST=%%i
06.
for /f "tokens=2 delims==" %%i in ('findstr "/c:PGHOST=" \\%NOTFALL_PGHOST%\charly$\TEST_mit_INI\config.ini') do set PGHOST=%%i
07.
for /f "tokens=2 delims==" %%i in ('findstr "/c:DIR_CMD=" \\%NOTFALL_PGHOST%\charly$\TEST_mit_INI\config.ini') do set DIR_CMD=%%i
08.
for /f "tokens=2 delims==" %%i in ('findstr "/c:PGDATABASE=" \\%NOTFALL_PGHOST%\charly$\TEST_mit_INI\config.ini') do set PGDATABASE=%%i
09.
for /f "tokens=2 delims==" %%i in ('findstr "/c:PGUSER=" \\%NOTFALL_PGHOST%\charly$\TEST_mit_INI\config.ini') do set PGUSER=%%i
10.
for /f "tokens=2 delims==" %%i in ('findstr "/c:PGPASSWORD=" \\%NOTFALL_PGHOST%\charly$\TEST_mit_INI\config.ini') do set PGPASSWORD=%%i
11.
for /f "tokens=2 delims==" %%i in ('findstr "/c:PGPORT=" \\%NOTFALL_PGHOST%\charly$\TEST_mit_INI\config.ini') do set PGPORT=%%i
12.
for /f "tokens=2 delims==" %%i in ('findstr "/c:DST_PATH=" \\%NOTFALL_PGHOST%\charly$\TEST_mit_INI\config.ini') do set DST_PATH=%%i
13.
for /f "tokens=2 delims==" %%i in ('findstr "/c:DST_FILE=" \\%NOTFALL_PGHOST%\charly$\TEST_mit_INI\config.ini') do set DST_FILE=%%i
14.
for /f "tokens=2 delims==" %%i in ('findstr "/c:CMD_DUMP=" \\%NOTFALL_PGHOST%\charly$\TEST_mit_INI\config.ini') do set CMD_DUMP=%%i
15.
for /f "tokens=2 delims==" %%i in ('findstr "/c:CMD_REST=" \\%NOTFALL_PGHOST%\charly$\TEST_mit_INI\config.ini') do set CMD_REST=%%i
16.
for /f "tokens=2 delims==" %%i in ('findstr "/c:CMD_SQL=" \\%NOTFALL_PGHOST%\charly$\TEST_mit_INI\config.ini') do set CMD_SQL=%%i
17.
for /f "tokens=2 delims==" %%i in ('findstr "/c:CMD_DUMP_ALL" \\%NOTFALL_PGHOST%\charly$\TEST_mit_INI\config.ini') do set CMD_DUMP_ALL=%%i
18.
for /f "tokens=2 delims==" %%i in ('findstr "/c:NET_USE_?=" \\%NOTFALL_PGHOST%\charly$\TEST_mit_INI\config.ini') do set NET_USE_?=%%i
19.
 
20.
wait 1
21.
 
22.
rem **Laufwerk zum Produktivserver verbinden**
23.
 
24.
IF not exist %NET_USE_?%: net use %NET_USE_?%: \\%PGHOST%\Charly$
25.
 
26.
rem ** Charly auf dem ProduktionsServer beenden**
27.
 
28.
\\%PGHOST%\c$\windows\system32\taskkill /S %PGHOST% /f /IM solutio.exe /T >nul
29.
 
30.
Pause
Das Problem ist das er mir das Laufwerk zwar verbindet (z), aber lokal z: auf Notserver und nicht Schulungsserver ??
genauso beendet er den Prozess lokal und nicht auf dem Remotesystem??

Wo ist da mein Denkfehler ?

Grüße Frank
Mitglied: Snowman25
06.09.2013 um 11:26 Uhr
Hallo Mit.ohne.Ahnung,

Das sieht nach unnötig viel Code aus. Was möchtest du damit eigentlich erreichen?
Wenn du die "config.ini" (welche kein gültiges INI-File ist. Da gibt es ein bestimmtest Format) zu einer Batch machst und aus einem Skript callst, dann hast du alle Variablen gesetzt.

Gruß,
Snowman25
Bitte warten ..
Mitglied: Mit.ohne.Ahnung
06.09.2013 um 11:33 Uhr
Hallo Snowman25,

über deine angesprochene Lösung habe ich auch schon Nachgedacht....

Was ich gerne machen würde ist die bat zu einer exe kompilieren und über eine gui die config.ini schreiben.

so zumindest ist meine Zielsetzung.... ob das Machbar ist oder nicht.... sagt mir hoffentlich gleich das Licht. ... nein, der Snowman25 ...

Gruß Frank
Bitte warten ..
Mitglied: Snowman25
06.09.2013 um 11:49 Uhr
bat2exe: Vergiss es.
Hatten wir hier schon viele Male besprochen. Sollte nicht gemacht werden.
So ein bat2exe-Teil macht eh nur 'nen Wrapper drum und kopiert die .bat in ein TEMP-Verzeichnis während der Ausführung.
Bitte warten ..
Mitglied: Biber
06.09.2013, aktualisiert um 11:54 Uhr
Moin Mit.ohne.Ahnung,

unabhängig von snowmans Hinweisen, dass dieses Konzept noch ein wenig verfeinert werden sollte - es scheitert im jetzigen Szenario an den falschen Rückgaben von FINDSTR.

Bei der Suche nach "PGHOST" wird auch "Notfall_PGHOST" zurückgegeben.

01.
C:\Users\Biber>echo set Notfall_PGHOST=%DIR_CMD%\psql.exe| findstr /c:PGHOST
02.
set Notfall_PGHOST=%DIR_CMD%\psql.exe 
Ändere die Vaiable "PGHOST" auf "Normal_PGHOST" und suche nach diesem Namen.

Grüße
Biber
Bitte warten ..
Mitglied: facebraker
06.09.2013 um 11:55 Uhr
Hallo Frank,

warum machst du es nicht gleich VB.NET mit dem Visual Studio Express ist das kein Problem, dann hast du ein sauberes Programm?

Ich empfinde es sogar einfach mit Debugger und GUI zu programmieren, da kannst du in Einzelschritten durchgehen und testen.

Gruß Alex
Bitte warten ..
Mitglied: Mit.ohne.Ahnung
06.09.2013 um 12:00 Uhr
Hallo Bieber,

danke für den Hinweis....

eigentlich dachte ich würde das /c: davor genau das auschließen?

Werde dein Vorschlag aber ausprobieren....

Danke

Gruß Frank
Bitte warten ..
Mitglied: Mit.ohne.Ahnung
06.09.2013 um 12:02 Uhr
Hallo Snowman,

aber prinzipiell könnte das schon funktionieren ?

Sonst müsste ich ja ganz von Null wieder anfangen..

Gruß Frank
Bitte warten ..
Mitglied: Mit.ohne.Ahnung
06.09.2013 um 12:05 Uhr
Hallo Alex,

davon habe ich noch weniger Ahnung als von dem was ich jetzt mache....... versuche mich gerade in die Materie einzuarbeiten.

Hast du mir ein paar Tipps für gute Lektüre für Anfänger zum einsteigen??

Mit diesem script versuche ich gerade meinen Arbeitgeber davon zu überzeugen das eine gute VB Schulung für mich und die Firma das richtige ist

Gruß Frank
Bitte warten ..
Mitglied: Endoro
06.09.2013, aktualisiert um 12:15 Uhr
Hi,
statt dieser ganzen findstr Operationen geht es einfach so:
01.
@echo off &SETLOCAL
02.
FOR /f "tokens=1*" %%a IN (config.ini) DO SET "%%~b"
und die Variablen sind geladen wenn du schon nicht einfach copy config.ini config.bat&call config.bat machen willst.
lg.
Bitte warten ..
Mitglied: facebraker
06.09.2013 um 12:16 Uhr
Hallo Frank,

Amazon ist dein Freund

http://www.amazon.de/Einstieg-Visual-Basic-2012-Programmieranf%C3%A4nge ...

Ich habe es Learning by doing , mir selbst beigebracht.

Gruß Alex
Bitte warten ..
Mitglied: Mit.ohne.Ahnung
06.09.2013 um 12:19 Uhr
Hallo Endoro,

danke für den Tipp...

... werde ich aber erst morgen testen und Rückmeldung geben... werde jetzt erstmal meinen Geburtstag feiern.... meine Freundin steht schon mit dem Wellholz hinter mir weil ich schon wieder arbeite

Wünsche schönes WE

Frank
Bitte warten ..
Mitglied: Biber
06.09.2013, aktualisiert um 12:20 Uhr
Moin Mit.Ohne.Ahnung,

Zitat von Mit.ohne.Ahnung:
Hallo Bieber,
Bitte ohne "ie".
eigentlich dachte ich würde das /c: davor genau das auschließen?
Warum sollte es? Du sagst doch damit nur, dass nach dem exakten String "PGHOST" gesucht werden soll - und der ist sowohl in "PGHOST" wie in "Notfall_PGHOST" enthalten.
Du kannst nactürlich nach dem String "=PGHOST" suchen - den gibt es nur in einer Zeile.
01.
C:\Users\Biber>echo set Notfall_PGHOST=%DIR_CMD%\psql.exe| findstr /c:"set PGHOST="
02.
-- gibt nix zurück
Zum Thema "Will nicht wieder ganz von null anfangen"...

Wenn es aber nur bedeutet, 10 Minuten Aufwand zu haben, dann wäre es doch erwägenswert.

Grüße
Biber
Bitte warten ..
Mitglied: Endoro
06.09.2013 um 12:33 Uhr
Hallo @Biber,
Regex geht auch
01.
findstr /r "\<PGHOST\>"
lg.
Bitte warten ..
Mitglied: Mit.ohne.Ahnung
06.09.2013 um 13:03 Uhr
Hallo Biber,

sorry für das "e" habe mich von deinem Bild verwirren lassen

.... na ja.. 10 min ... das script ist etwas länger... ist nur ein ausschnitt davon .

Gruß Frank
Bitte warten ..
Mitglied: Mit.ohne.Ahnung
06.09.2013 um 13:04 Uhr
Hallo Endoro,

regex bedeutet ? macht was ?

Gruß Frank
Bitte warten ..
Mitglied: Endoro
06.09.2013 um 13:12 Uhr
Hi,
Regex
lg.
Bitte warten ..
Mitglied: Mit.ohne.Ahnung
06.09.2013 um 13:44 Uhr
Hallo Alex,

danke dir... werde ich mir reinziehen...

Gruß Frank
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
BATCH ini Datei Datei auslesen
gelöst Frage von Juergen42Batch & Shell2 Kommentare

Hallo zusammen, ich möchte eine ini Datei auslesen mit folgenden Aufbau INHALT DER INI ID=30 NAME="test1" PFAD="K:\Kontoauszug\Test1\*.pdf" PFAD_S="K:\Kontoauszug\Test1\Sicherung\" ID=28 ...

Batch & Shell

INI Datei über Batch Script verändern

Frage von SchmidleBatch & Shell3 Kommentare

Hallo zusammen, ich muss in einer ini Datei einen Eintrag anpassen, der den ProxyServer hinterlegt. Wir haben einen neuen ...

Batch & Shell

Batch bestimmte Zeile in .ini umschreiben

gelöst Frage von HukiAlexBatch & Shell4 Kommentare

Guten Tag Ich habe eine Frage . Ich habe 2 Dateien : 1" Main.Bat" und 1 "config.ini" Code der ...

HTML

BackInfo ini anpassen

gelöst Frage von DragonKillHTML2 Kommentare

Hallo, ich versuche gerade mit Backinfo einige Computerdetails auf dem Desktop darzustellen. Habe die ini soweit angepasst, dass es ...

Neue Wissensbeiträge
Humor (lol)
Administrator.de Perlen
Tipp von DerWindowsFreak2 vor 2 TagenHumor (lol)3 Kommentare

Hallo, Heute beim stöbern auf dieser Seite bin auf folgenden Thread aus dem Jahre 2006 gestossen: Was meint ihr? ...

Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 3 TagenErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 6 TageniOS5 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 7 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
PCIe 1.0 Grafikkarte für 3840x2160
Frage von Windows10GegnerGrafikkarten & Monitore30 Kommentare

Hallo, mein Vater hat einen neuen Monitor gekauft, welcher eine native Auflösung von 3840*2160 hat. Diese muss jetzt auch ...

Windows Server
Dienstnamen und oder Deutsche und Englische Beschreibung in services.msc gleichzeitig anzeigen
gelöst Frage von vafk18Windows Server23 Kommentare

Guten Morgen, die Suche nach Diensten in services.msc gestaltet sich immer wieder schwierig, weil mir je nach Aufgabe die ...

Windows 10
Windows Enterprise 1809 Eval nicht bootbar
Frage von Sunny89Windows 1022 Kommentare

Hallo zusammen, bevor ich mich jetzt noch stundenlang rumärger wollte ich euch fragen, ob Ihr die gleichen Probleme habt ...

JavaScript
Javascript: WebSql
gelöst Frage von internet2107JavaScript13 Kommentare

Guten Morgen zusammen, zunächst einmal einen schönen dritten Advent. Ich habe ein Problem mit Javascript und WebSQL. Bisher habe ...