Jump to content

Batch Variable aus Registrierung mit Leerzeichen


Direkt zur Lösung Gelöst von Ody,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen,

 

herzlichen Dank für euer weiteres Feedback!

 

@lefg
Es gibt in der Registrierung eine Zeichenfolge "Pfad" wo das Installationsverzeichnis des Programms liegt.
Beispiel C:\Program Files (x68)\Program

ich hab mir für meine Tests einfach einen Schlüssel angelegt mit dem ich rumspiele.

 

@Sunny61

Das ist ein guter Ansatz, somit kann ich evtl. das Thema "Program Files", "Programme" bzw. "Program Files (x86)" umgehen.
Das hilft mir aber nicht weiter wenn der Unterordner des Programs auch ein Leerzeichen z.B. C:\Program Files (x86)\Mein Program\ hat.

 

@daabm
SETX kannte ich noch nicht, ich hab mir das mal angeschaut, so wie ich das sehe werden da aber fix Umgebungsvariablen gesetzt

die auch nach dem ausführen der Batch weiter zur Verfügung stehen. Ich möchte ja nur zur Laufzeit den Pfad aus der Registrierung

auslesen und verarbeiten. Bei meinen Tests hab ich es aber nicht geschafft den Wert in die Variable zu schreiben. Aber da Teste ich noch weiter.

 

@massaraksch

Da hast du wohl recht, ich bin aber auch von Gestern :-)

Der skip ignoriert die ersten beiden Zeilen was dir der Reg query ausgibt, ich will nur die Zeile wo der Wert der Zeichenfolge enthalten ist,
die wiederum wird mit Token genauer analysiert.

 

@All ich dachte mir das es mit for /f recht einfach möglich ist den Wert komplett in eine temporäre Variable

zu schreiben und zu verarbeiten. So wie es aussieht ist es anscheinend nicht so einfach und ich werde um den Vorschlag von zahni nicht rumkommen?

 

Vielleicht noch mit zusätlicher Prüfung von findstr? Hab da mal versucht die Leerzeichen zu ermitteln, aber das hat hintern und vorne nicht hingehauen.

Beste Grüße
Ody

 

Link zu diesem Kommentar

@lefg

Es gibt in der Registrierung eine Zeichenfolge "Pfad" wo das Installationsverzeichnis des Programms liegt.

Beispiel C:\Program Files (x68)\Program

ich hab mir für meine Tests einfach einen Schlüssel angelegt mit dem ich rumspiele.

Das ist doch unrealistisch. Weshalb mit irgendwelchen Krücken rummachen, wenn man das über die System- und/oder Benutzervariablen viel besser hinkriegt?

 

 

@Sunny61

Das ist ein guter Ansatz, somit kann ich evtl. das Thema "Program Files", "Programme" bzw. "Program Files (x86)" umgehen.

Das hilft mir aber nicht weiter wenn der Unterordner des Programs auch ein Leerzeichen z.B. C:\Program Files (x86)\Mein Program\ hat.

Dann schreib doch so wie in der ersten Zeile des Beispiels die Variable in Anführungszeichen, dann klappt es auch mit Leerzeichen im Pfad.

Link zu diesem Kommentar

@lefg

Ich möchte mit dem ausgelesenen Pfad innerhalb des Programms Aktionen ausführen wie z.B.

Exen starten und/oder über Taskkill wieder beenden, Logfiles auslesen / kopieren, Sicherungen von Unterordnern durchführen.

 

@Sunny61

Mein Ansatz ist (war!?) nichts am System zu verändern und flexibel bezüglich der Umgebungen zu sein.
Wenn es nicht geht muss ich mir was anderes überlegen.

 

Bezüglich der Anführungszeichen hab ich alles mögliche versucht, nachdem ich aber den Wert erst über

"Tricks" For und reg query rauskriege hat das nicht geklappt. Theoretisch würde es reichen wenn ich es schaffe

am Anfang und alternativ am Ende Anführungszeichen zu setzten. Das Ende könnte ich wieder als Klartext definieren

wenn ich mein copy, Taskkill usw ausführe.

Link zu diesem Kommentar

@lefg

Ich möchte mit dem ausgelesenen Pfad innerhalb des Programms Aktionen ausführen wie z.B.

Exen starten und/oder über Taskkill wieder beenden, Logfiles auslesen / kopieren, Sicherungen von Unterordnern durchführen.

Da hast Du dir mit einer Batch das schlechteste, aller zur Verfügung stehenden Mittel ausgesucht. Aber mach ruhig weiter, ich bin jetzt raus.

Link zu diesem Kommentar

Es für jemanden der nicht so viel Ahnung hat wie du nicht immer einfach das wesentliche herauszufiltern, aber dafür gibt es ja solche Foren
und nette Menschen wie dich die versuchen die richtigen Anstöße zu geben, nochmals Danke an dieser Stelle.

 

p.s. Suchen bevor man postet sollte natürlich immer die erste Wahl sein, was ich auch gemacht hatte

bearbeitet von Ody
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...