evinben
Goto Top

Richtige Syntax wird gesucht. Pfade gesetzt in Anführungszeichen, mit konvertiertem ö-Umlaut als Sonderzeichen und Leerzeichen, werden nicht akzeptiert!

Grüße Biber, Bastla, TimoBeil und die ganze Gemeinde,

ich habe ein echtes Problemchen. Ich schaffe nicht in der Batch-Datei die richtige Syntax so eines Pfades zu setzen, in welchem Sonderzeichen/Umlauten und Leerzeichen vorhanden sind.


Der eigentliche Pfad lautet: E:\Backup System & persönliche Einstellungen

Nun versuche ich ein Programm per Batch, das sich genau in diesem Verzeichnis befindet (das Programm muss sich nur hier, neben den speziellen Dateien, befinden) zu starten.
Wegen der Sonderzeichen habe ich den gesamten Pfad

"E:\Backup System & persönliche Einstellungen\2. MeinProgramm.exe"

in WordPad kopiert und als Textdokument MS-DOS-Format abgespeichert. So wurden alle Sonderzeichen in das richtige Zeichenformat, das sich für Batch eignet, konvertiert. Daraus ist Folgendes entstanden:

"E:\Backup System & pers”nliche Einstellungen\2. MeinProgramm.exe"

Nun habe ich den notwendigen Befehl zum Starten, wie folgt, da vorne gesetzt, aber die gesamte Syntax funktioniert es so leider nicht. Der kleine Umlaut „ö“ wurde zwar in das richtige Zeichen konvertiert udn wird richtig interpretiert, aber es ist ungünstigerweise ein Anführungszeichen mitten in dem Pfad geworden und wird von Batch richtig als „ö“ aber leider auch als Anführungszeichen behandelt. Anbei ist die ganze Zeile so, wie sie in der Batch-Datei steht:

start "MeinFensterText" /B "E:\Backup System & pers”nliche Einstellungen\2. MeinProgramm.exe"

Laut den Regeln soll ein Pfad mit Leerzeichen an den beiden seinen Enden ja jeweils in Anführungszeichen gesetzt werden. Wie soll aber die Syntax lauten, wenn in diesem Pfad mittendrin, wegen dem konvertierten ö-Umlaut, zwangsweise noch ein Anführungszeichen ist? Momentan ist es so, dass wegen so einer falschen Syntax zwei Fehlermeldungen nach dem Ausführen der Bach-Datei erscheinen:

„Der Befehl "E:\Backup“ ist entweder falsch geschrieben oder konnte nicht gefunden werden.“
„Der Befehl "persönliche“ ist entweder falsch geschrieben oder konnte nicht gefunden werden.“

D. h. der Pfad wird definitiv nicht als Pfad behandelt, sondern in separate Befehle aufgesplittert.

Ich habe viel gesucht und bereist vieles probiert aber leider ohne Erfolg und bin am Ende meiner Möglichkeiten. Daher die Frage an euch Spezialisten:

Wie soll die richtige Syntax lauten?


Vielen herzlichen Dank euch im Voraus

Content-Key: 156339

Url: https://administrator.de/contentid/156339

Printed on: April 24, 2024 at 16:04 o'clock

Member: Skyemugen
Skyemugen Dec 04, 2010 at 16:59:25 (UTC)
Goto Top
Aloha,

hast du denn schonmal die batch-Datei im DOS bearbeitet? (cmd -> edit) und dort die Sonderzeichen nochmal eingetippt, so handhabe ich das generell und habe bisher mit keinen Sonderzeichen à la ä, ö, ü etc. Probleme bekommen auch wenn sie weiterhin in logs etc. nicht dargestellt werden (bzw. als Anführungszeichen etc.).

greetz André
Member: bastla
bastla Dec 04, 2010 at 17:09:32 (UTC)
Goto Top
Hallo evinben!

Zusätzlich zu der von Skyemugen angeführten Möglichkeit per "edit" (oder der Verwendung eines anderen Editors wie zB Notepad++ - dort über "Kodierung - Zeichensatz - Westeuropäisch - OEM 850") könntest Du auch durch ein einfaches
dir /b "E:\Backup System & pers*">>Batchdatei.cmd
den Pfad in die Batchdatei bekommen.

Etwas weniger sicher (zumindest, wenn der Batch nicht immer auf dem selben Rechner laufen soll) wäre die Verwendung von Kurznamen der Art "E:\BACKUP~1" - herauszufinden über
dir /x "E:\Backup System & pers*"
Im Batch könntest Du es so versuchen:
@echo off & setlocal
for /d %%i in ("E:\Backup System & pers*") do set "Pfad=%%i"  
::Demo
dir "%Pfad%"  
Grüße
bastla
Member: mathe172
mathe172 Dec 04, 2010 at 18:20:38 (UTC)
Goto Top
Hallo evinben!

Vielleicht irre ich mich (wenn ja, dann korrigiert mich bitte face-wink), aber kann man das Zeug nicht einfach escapen?

Also so:
start "..." /B "E:\Backup System ^& pers^”nliche Einstellungen\2. MeinProgramm.exe"  

Mathe172

P.S.:Bei mir ist das " vor und nach dem Pfad nicht dasselbe wie das ö-"
Member: bastla
bastla Dec 04, 2010 at 19:25:21 (UTC)
Goto Top
@mathe172
Vielleicht irre ich mich (wenn ja, dann korrigiert mich bitte face-wink)
Auf Deinen besonderen Wunsch hin face-wink: Solange der Pfad unter Anführungszeichen verwendet wird, ist das "Escapen" nicht nur nicht nötig, sondern sogar kontraproduktiv (hätte übrigens ein kurzer Test gezeigt) - es besteht ja auch nicht die Gefahr einer Fehlinterpretation (zB des "&" als Veknüpfung zweier Anweisungen), da die Anführungszeichen für den CMD-Interpreter darauf hinweisen, dass es sich bei dem Teil dazwischen einfach um "Text" handelt.

Die Schwierigkeiten ergeben sich aus dem Unterschied in der Codierung: ASCII (CMD) vs ANSI (Windows) ...

Grüße
bastla
Member: jeb-the-batcher
jeb-the-batcher Dec 05, 2010 at 09:14:15 (UTC)
Goto Top
Hallo evinben,

Man braucht die Datei nicht zu editieren, man kann cmd.exe mit chcp einfach mitteilen wie die Zeichen zu nehmen sind.

@echo off
setlocal EnableDelayedExpansion

rem Erst mal umschalten damit die Sonderzeichen korrekt  übernommen werden
chcp 1252
set "file=Backup System & persönliche Einstellungen"  

rem Man kann zurückschalten, ist aber nicht zwingend
chcp 850
echo !file!
dir "!file!"  

Gr³▀e
Jeb
Member: evinben
evinben Dec 07, 2010 at 08:35:46 (UTC)
Goto Top
Hallo Administratoren,

vielen Dank an euch alle für die sofortige Hilfe. Ich habe mir häppchenweise die Zeit genommen und alle Lösungen Schritt für Schritt ausprobiert/durchgearbeitet:

1. André / Vorschlag mit „edit.com“:
Aufgrund der gleichen Problematik habe ich „edit.com“ vor Kurzem hier im Forum kennengelernt und habe schon mal probiert dorthin einen Pfad einzugeben, aber auch jetzt habe ich es leider wieder nicht geschafft. Ich habe versucht das Tastatur-Layout von DE auf EN (wegen der Eingabe der Anführungszeichen, ansonsten Erscheinen mir dem DE-Layout lauter @@@@@) und wieder auf DE (zur Eingabe der Umlaute) hin und her umzuschalten, damit ich letztendlich den ganzen Pfad eingeben kann. Aber irgendwie klappte es bei mir im Anschluss dennoch nicht. Wie macht ihr das, wie schreibt ihr dorthin bzw. mit welchem Tastatur-Layout? Ich schaffe leider nicht den erwähnten Pfad, wie folgt einzutippen:

start "MeinFensterText" /B "E:\Backup System & persönliche Einstellungen\2. MeinProgramm.exe"

2. Bastla:
2.1 Notepad++
Notepad heruntergeladen und installiert (wow, das ist ja ein Gigant im Vergleich zu dem normalen Notepad.exe und für Anfänger, wie ich, wird der gesamte Code, durch die automatische Farbvergabe, besonders anschaulicher)> die Codierung auf „OEM 850“ umgestellt (eigentlich „Code“. „Kode“ gibt es auf Deutsch nicht, stimmt‘s?)>dort hin so eingegeben:

start "" /B "E:\Backup System & persönliche Einstellungen\2. MeinProgramm.exe"
und als „Batch file“ abgespeichert>den Batch ausgeführt und es kam wider die gleiche Fehlermeldung, als ob ich dasselbe mit dem Notepad erstellt hätte:

"E:\Backup System & persönliche Einstellungen\2. MeinProgramm.exe" konnte nicht gefunden werden. Stellen Sie sicher, dass Sie den Namen richtig eingegeben haben und wiederholen Sie den Vorgang.

2.2 Ausgabe des Pfades in einer Bach-Datei mit konvertierten Zeichen:
Das hier ist wirklich eine feine Sache:

dir /b "E:\Backup System & pers*">>Batchdatei.cmd

(bzw. eine Ausgabe mit anderen Erweiterungen, wie txt oder bat, funktioniert auch).
So wird eine Batch-Datei, mit dem konvertiertem Text, in dem gleichen Ordner ausgegeben (der Text wird in der Datei wie folgt konvertiert: „Backup System & pers”nliche Einstellungen“)

Wie würde aber die Syntax eines Pfades mit Unterordner lauten, deren Namen ebenso Leer- und Sonderzeichen enthalten? Also wie sollte die Befehlszeile z. B. mit so einem Pfad lauten?

"E:\Backup System & persönliche Einstellungen\persönliche Einstellungen\MeinProgramm.exe"

2.3 Verwendung von Kurznamen:

dir /x "E:\Backup System & pers*"
pause

Das funktioniert! Der Kurzname des übergeordneten Ordners wäre genau so, wie du es geschrieben hast - „BACKUP~1“. Die Befehlszeile wird endlich gültig und das Programm „MeinProgramm.exe“ lässt sich durch den Batch endlich ausführen.

Wie kann aber der nachfolgende Pfad mit Unterordnern, wie oben, abgefragt werden?

"E:\Backup System & persönliche Einstellungen\persönliche Einstellungen\MeinProgramm.exe"

Ich habe für so eine Abfrage, laut der oberen Logik, die folgende Syntax und viele andere Varianten versucht, aber ohne Erfolg:

dir /x "E:\Backup System & pers*\pers*\Mein*"
pause

3. Mathe172 / Vroschlag mit escapen: ^
Danke dir auch für deine Hilfe. Ich habe auch deine Variante ausprobiert aber es ging wirklich nicht – ich bekomme den gleichen Hinweis, wie oben: „… der Pfad konnte nicht gefunden werden. Stellen Sie sicher, dass Sie den Namen…“.

4. Jeb / Vorschlag mit chcp 1252:
Ich habe hier im Forum bereits an verschiedenen Stellen darüber einiges gelesen und ausprobiert. Leider konnte ich mit den Beispielen den Code nicht zum Laufen bringen.
Diese Möglichkeit mit chcp 1252, zu der Lösung von Bastla, scheint mir für mich ebenso sehr nützlich zu sein, wenn in der Datei direkt mit Sonderzeichen und Umlauten geschrieben und der Text einfach per chcp 1252 korrekt entziffert werden kann. Aber so einfach ist es in meinem Fall leider nicht.

Ich habe die vorgeschlagene Befehlszeile mit dem im Punkt 2.2 erwähnten Pfad auf folgende Weise aufgebaut:

chcp 1252
set "file="E:\Backup System & persönliche Einstellungen\persönliche Einstellungen\MeinProgramm.exe"
echo !file!
dir "!file!"
: (start "" /b "!file!")

Nach Aufruf der Batch-Datei wird im CMD-Fenster, durch den ECHO-Befehl der Pfad und durch den DIR-Befehl die Größe, das Speicherdatum und die Uhrzeit der Datei „MeinProgramm.exe“ ganz genau angezeigt. D. h. bis hier es ist definitiv eine korrekte Erkennung festzustellen und es gibt Zugriff (Schreibfehler des gesamten Pfades und sonstige Vermutungen sind erstmals auszuschließen). Ganz oben im cmd ist es auch zu lesen: „Aktive Codepage: 1252.“

Nun kommen wir zu dem großen ABER:
Wenn ABER die folgende wesentliche Befehlszeile, zum Starten von „MeinProgramm.exe“, zu dem Code unten dazu hinzugefügt wird

start "" /b "!file!"

dann ist im CMD-Fenster unten auch die folgende (am Anfang dieses Beitrages schon mal erwähnte) Meldung zu lesen:

„Der Befehl "E:\Backup“ ist entweder falsch geschrieben oder konnte nicht gefunden werden.“
„Der Befehl "pers÷önliche“ ist entweder falsch geschrieben oder konnte nicht gefunden werden.“

(Beachte: trotz der Codierungsumstellung wird [ö] hier im cmd.exe nicht überall als [ö], sondern als [÷], angezeigt. Wenn aber [ö] in der Batch-Datei mit [”] eingetippt wird, dann wird dieser Umlaut im cmd-Fenster richtig angezeigt.)

Einerseits wird bestätigt, dass die Pfadangabe vollkommen richtig ist, andererseits aber doch falsch geschrieben. Woran könnte es liegen? Kann es sein, dass dieser chcp-Befehl nicht überall kollisionsfrei anwendbar ist?


Ich hoffe sehr ich ihr könnt mir weiterhelfen.

Vielen Dank im Voraus an euch alle.


edit:
PS: Könnte ein Administrator hier den Namen meines Beitrages korrigieren?
Anstatt „…werde nicht akzeptiert!“ sollte es „…werden nicht akzeptiert!“ heißen.
Ich habe dazu keinen Zugriff. Danke sehr.
[Edit Biber] DONE [/Edit]
Member: bastla
bastla Dec 07, 2010 at 09:34:05 (UTC)
Goto Top
Hallo evinben!

Danke vorweg für das ausführliche Feedback face-smile
Zumindest hinsichtlich der "dir /b"-Variante sollten Unterordner kein Problem darstellen - einfach
dir /s /b "E:\MeinProgramm.exe">Datei.txt
(die Anzahl der auf E:\ liegenden Dateien namens "MeinProgramm.exe" dürfte ja überschaubar sein).

Mit "dir /x" müsstest Du Dich "durchhhanteln", was vergleichweise wenig Spaß machen dürfte ... face-wink

Eine relativ einfache Möglichkeit wäre übrigens noch die Verwendung der Auto-Vervollständigung: Wenn Du beginnst, einen Pfad einzugeben - also etwa:
echo E:\Back
und dann die TAB-Taste (wäre zumindest Default - ansonsten in der Registry unter "HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar" bzw "PathCompletionChar" zu finden) drückst, wird der Pfad komplettiert - nach dem Ersetzen des automatisch hinzugefügten Anführungszeichens durch \pers und neuerlichem Drücken von TAB erhältst Du den Pfad der nächsten Ordnerebene and so on ...

Grüße
bastla

P.S.:
eigentlich „Code“. „Kode“ gibt es auf Deutsch nicht, stimmt‘s?
Nicht schlagen face-wink - ich habe ja nur den "Notepad++"-Menüpunkt "Kodierung" zitiert ...
Member: Skyemugen
Skyemugen Dec 07, 2010 at 17:15:15 (UTC)
Goto Top
Zitat von @evinben:
1. André / Vorschlag mit „edit.com“:
Aufgrund der gleichen Problematik habe ich „edit.com“ vor Kurzem hier im Forum kennengelernt und habe schon mal
probiert dorthin einen Pfad einzugeben, aber auch jetzt habe ich es leider wieder nicht geschafft. Ich habe versucht das
Tastatur-Layout von DE auf EN (wegen der Eingabe der Anführungszeichen, ansonsten Erscheinen mir dem DE-Layout lauter @@@@@)
und wieder auf DE (zur Eingabe der Umlaute) hin und her umzuschalten, damit ich letztendlich den ganzen Pfad eingeben kann. Aber
irgendwie klappte es bei mir im Anschluss dennoch nicht. Wie macht ihr das, wie schreibt ihr dorthin bzw. mit welchem
Tastatur-Layout? Ich schaffe leider nicht den erwähnten Pfad, wie folgt einzutippen:

start "MeinFensterText" /B "E:\Backup System & persönliche Einstellungen\2. MeinProgramm.exe"

Aloha,

um ehrlich zu sein, verwirrt mich dein Beitrag ... Tastatur-Layout ändern hö?
Ich gehe bei dieser Art von Bearbeitung immer wie folgt vor:
cmd (meist schon in dem Ordner, wo die Datei liegt [hab Eingabeaufforderung im Kontextmenü verankert ^.^])
edit
Datei -> Öffnen
schreibe dann entweder den Pfad der Datei oben rein oder aber klicke mich meist manuell durch die Struktur z.B. im rechten Feld auf [-D-] dann entweder auf einen weiteren Unterordner oder direkt auf die gewünschte Datei im linken Feld und bestätige/öffne die Datei.
Dann hat man den Inhalt der Datei ja wie im Texteditor angezeigt und dann geh ich zu den Stellen, wo die Zeichen falsch dargestellt werden, lösche das falsche Zeichen und setze das korrekte. Dazu bedarf es eigentlich keiner Umstellung irgendwelcher Tastatur-Layouts o.Ä. wenn ich ein Anführungszeichen z.B. setze, dann steht dort auch dieses.
Dann natürlich am Ende
Datei -> Speichern
Datei -> Schließen/Beenden
und das cmd-Fenster auch zu per exit oder X ^.^

greetz André
Member: bastla
bastla Dec 07, 2010 at 17:35:47 (UTC)
Goto Top
@Skyemugen
edit
Datei -> Öffnen

ließe sich natürlich auch als
edit Datei.txt
(bei Bedarf auch mit Angabe des kompletten Pfades) durchführen ...

Grüße
bastla
Member: Skyemugen
Skyemugen Dec 07, 2010 at 17:49:10 (UTC)
Goto Top
@bastla

*lach* I know aber es ist bei mir irgendwie zur Gewohnheit geworden, wenn ich Befehle eintippe, müssen die so kurz wie möglich sein ;) und so brauch ich dann auch nicht den Dateinamen hintippen, hehe
aber klar, hätte ich nochmal erwähnen können, den eigentlich schnelleren Weg

greetz André
Member: bastla
bastla Dec 07, 2010 at 19:55:48 (UTC)
Goto Top
@Skyemugen
und so brauch ich dann auch nicht den Dateinamen hintippen
Kein Einwand - ich bin durchaus ebenfalls interessiert daran, Fortschritte in der Disziplin "angewandte Faulheit" zu machen face-wink - in dieser Hinsicht ist übrigens die oben angeführte Verwendung der TAB-Taste auch nicht zu verachten ...

Grüße
bastla
Member: evinben
evinben Dec 08, 2010 at 11:18:04 (UTC)
Goto Top
Hallo Bastla,

mit der "dir /b"-Variante habe ich es geschafft. Vielen Dank!

Ich bin einfach immer wieder begeistert, wie einem hier schnell geholfen wird.

Der vollständige Pfad mit konvertierten Zeichen wird in der Datei ausgegeben. Diesen kopiere ich von da aus 1:1 und setze ich da vorne nur den Start-Befehl, also so:

start "MeinFensterText" /B "E:\Backup System & pers”nliche Einstellungen\pers”nliche Einstellungen\2. MeinProgramm.exe"

Es erscheint aber immer wieder die gleiche Fehlermeldung, dass der Befehl „Backup“ und „persönliche“ nicht gefunden werden können.
Wenn es zu kompliziert ist, dann lassen wir es sein. Mit der Kurznamen-Variante klappt es ja wunderbar und auf der Weise funktioniert es bisher alles ganz gut:

start "MeinFensterText" /B "E:\BACKUP~1\pers”nliche Einstellungen\2. MeinProgramm.exe"

ERKENNTNIS:
Meine starke Vermutung hier ist, dass das Zeichen „&“ irgendwie für interne Zwecke des Systems für etwas Bestimmtes reserviert ist und daher beim Aufruf einer Batch-Datei (also nur einer Datei mit bat-Erweiterung) nicht als ein Zeichen eines Pfades, sondern als ein Befehl interpretiert wird. D. h. sobald in dem Pfad dieses Zeichen „&“ in der Kombination mit dem Zeichen [”] irgendwo auftaucht und es wird versucht einen bat-file in so einem Verzeichnis auszuführen, entsteht sofort der genannte Fehler „… Der Befehl „Backup“ und „persönliche“ können nicht gefunden werden…“

Autovervollständigung:
Dass mit der Autovervollständigung ist eine feine Sache, diese kann ich aber leider nicht reproduzieren.
(Ich glaube, dass ich dich richtig verstanden habe: also etwa „echo E:\Backup“ halb fertig eintippen und dann gleich auf die TAB-Taste drücken, damit der Pfad dann automatisch vollständig ergänzt wird.)
In der Registry ist in den beiden DWORD-Werten (in „CompletionChar“ und in „PathCompletionChar“) derselbe Wert “9“ gesetzt. Welchen Wert soll sich hier setzen, damit die Autovervollständigung auch bei mir funktioniert?
Ich arbeite mit Windows Vista-32 Bit


Gut, ich bleibe lieb
Zu dem „Kode“: ne-e, schlagen tue ich dich nicht, vielleicht mal Armdrücken oder so …
Danke dir herzlich und bis bald.


Hallo André,

danke auch dir für deine Bemühungen.
um ehrlich zu sein, verwirrt mich dein Beitrag ... Tastatur-Layout ändern hö?

Dafür h habe ich eine leichte Erklärung. Ich bin mir sicher, dass du kompetent bist und dass du es kannst. Du hast aber mit deiner Kompetenz etwas Schwierigkeiten dich an die Stelle eines Anfängers zu versetzen - das nennt man „betriebsblind“ face-wink.

…und dann geh ich zu den Stellen, wo die Zeichen falsch dargestellt werden, lösche das falsche Zeichen und setze das korrekte.
Dazu bedarf es eigentlich keiner Umstellung irgendwelcher Tastatur-Layouts o.Ä., wenn ich ein Anführungszeichen z.B. setze,
dann steht dort auch dieses.

Genau das Wesentliche wollte und möchte ich immer noch erfahren: wie machst du es genau (mit welcher Taste in Schrittanleitung für RENTNER bzw. Kinder der neuen Generation wie ich) und mit welchem Tastaturlayout (DE, EN usw.) tippst du die Anführungszeichen, die Umlaute bzw. deren konvertierten Zeichen? Ich hab nämlich keine winzige Erfahrung mit MS-DOS, außer dass in der Umgebung die Y-Taste mit der Z-Taste sowohl einer DE-Tastatur/Hardware als auch einem DE-Tastaturlayout vertauscht steht.
Wie ich oben geschrieben habe, wird beim DE-Tastaturlayout im edit.om anstatt Anführungszeichen [“] das [@]-Zeichen ausgegeben. Da ich unter DOS nie gearbeitet habe, weiß ich nicht, welche Taste einem Umlaut entspricht.

Wir ich oben an Bastla geschrieben habe, liegt das Problem irgendwo anders und nicht am Notepad.exe. Im Notepad kann man genauso das konvertierte Zeichen [”] für [ö] eingeben und es klappt wunderbar. Sobald aber im Pfad neben dem [”]-Zeichen zusätzlich das [&]-Zeichen steht und wir eine bat-Datei ausfuhren möchten, wird der Pfad an solchen nicht mehr erkannt.

Wenn du mich schwer nachvollziehen kannst, dann probiere es einfach aus. Erstelle dir so ein Verzeichnis 1:1:

„E:\Backup System & persönliche Einstellungen\persönliche Einstellungen\

und versuche nun eine Batch-Datei (unbedingt eine bat-Erweiterung, da mit txt, doc usw. klappt es ja wunderbar) in diesem Verzeichnis via Batch zu starten, dann wirst du sehen, dass so eine Befehlszeile wie folgt nicht klappt, ohne der Verwendung von Kurznamen:

start "Probe" /B "E:\Backup System & pers”nliche Einstellungen\pers”nliche Einstellungen\KlapptOderKlapptNicht.bat"

Mit so einer Befehlszeile, die mit Kurznamen aufgebaut ist, haben wir dagegen das erwähnte Problem nicht mehr:

start "Probe" /B "E:\BACKUP~1\pers”nliche Einstellungen\KlapptOderKlapptNicht.bat"

Ich möchte gerne erfahren, wie du das Problem mit edit.com lösen und damit umgehen würdest. Ich bin bereit zum Lernen.


Bastla, nochmals vielen Dank für diesen Tipp, mit den Kurznamen!

Vielen Dank für eure Hilfe. Ich bin von diesem Forum einfach begeistert, eigentlich, da es euch gibt - solche nette hilfsbereite Menschen.
Member: bastla
bastla Dec 08, 2010 at 16:04:41 (UTC)
Goto Top
Hallo evinben!
start "MeinFensterText" /B "E:\Backup System & pers”nliche Einstellungen\pers”nliche Einstellungen\2. MeinProgramm.exe"
funktioniert bei mir klaglos.
start "Probe" /B "E:\Backup System & pers”nliche Einstellungen\pers”nliche Einstellungen\KlapptOderKlapptNicht.bat"
sollte so funktionieren:
start "Probe" /B "cmd /c ""E:\Backup System & pers”nliche Einstellungen\pers”nliche Einstellungen\KlapptOderKlapptNicht.bat"""
Hinsichtlich der Auto-Vervollständigung (funktioniert bei mir unter XP SP3 und W7, Vista nicht getestet): Der Eintrag 9 steht für TAB und wäre daher ok.
Es gibt in der Registry die gleichen Einträge auch unter "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor" - könntest Du ev auch dort noch kontrollieren / ergänzen (allerdings sollte der HKCU-Eintrag eigentlich Vorrang haben) ...
Übrigens noch ein Weg, den Pfad für eine Datei in einem Unterordner zu erhalten: Du kannst die entsprechende Datei aus dem Explorer in das CMD-Fenster ziehen (und wiederum zB per
>>Datei.txt echo "E:\Backup System & pers”nliche Einstellungen\pers”nliche Einstellungen\2. MeinProgramm.exe"
einer Text-/Batch-Datei hinzufügen).

Grüße
bastla
Member: Skyemugen
Skyemugen Dec 08, 2010 at 17:52:02 (UTC)
Goto Top
Aloha,

also du verwirrst mich mehr und mehr *lach* bei mir wird im edit mit DE-Tastaturlayout ["] auch als ["] dargestellt, überhaupte alle Zeichen sind 1:1.
Ich habe deine Ordnerstruktur mir mal nachgebaut (war echt nötig, blick sonst gar nicht mehr durch) und mir ist aufgefallen, dass wenn man den Titel des Fensters (also hier "Probe") weglässt, er nicht auf die Idee kommt, den Pfad auseinander zu pflücken., ansonsten konnte ich dein Problem jetzt doch besser nachvollziehen ^.^

bastla's eben gepostete Lösung funktioniert natürlich (gleich mal mitgetestet) und man könnte auch
cd "E:\Backup System & pers”nliche Einstellungen\pers”nliche Einstellungen"  
start "Probe" test.bat  
ausführen zur Not =)

Aber nochmal zum Editieren:
der im editor geschriebene Pfad "E:\Backup System & persönliche Einstellungen\persönliche Einstellungen"
wird als "E:\Backup System & pers÷nliche Einstellungen\pers÷nliche Einstellungen" bei mir dargestellt (im edit)
also gehe ich zu den [÷], lösche diese und ersetze sie durch [ö] (wie gesagt Tastaturlayout ist und bleibt auf DE) - speichere die Datei, mach das Bearbeitungsfenster zu und jetzt sieht die .bat im editor so aus:
"E:\Backup System & pers”nliche Einstellungen\pers”nliche Einstellungen"

Grüße, André
Member: evinben
evinben Dec 08, 2010 at 19:09:33 (UTC)
Goto Top
Hallo Bastla,

start "Probe" /B "cmd /c ""E:\Backup System & pers”nliche Einstellungen\pers”nliche Einstellungen\KlapptOderKlapptNicht.bat"""

„JAA, KRASS MANNN!“
Du bist einfach genial!


Zur Auto-Vervollständigung:
Ich habe die anderen beiden Werte in dem erwähnten Schlüssel gefunden. Diese haben den Wert „40“ als Hexadezimal (als Dezimal wäre es dann der Wert „64“).
Wie sollen deren Werte nun lauten, damit ich auch so eine feine Erleichterungshilfe, wie es bei dir funktioniert, benutzen kann? Wenn du auf der Schnelle etwas wüstest, würde ich mich freuen. Ansonsten brauchst du nicht extra für mich danach suchen. Ich sehe gerade, dass es im Internet viel Informationen dazugibt. Vielleicht setze ich mich damit bei Gelegenheit auseinander, da ich auf der Schnelle nichts auf Deutsch finde.

… Datei aus dem Explorer in das CMD-Fenster ziehen …
Das klappt bei meinem Betriebssystem nicht (Vista-32 Business: volle Administratorrechte sind vorhanden; sicherheitshalber wurde *cmd extra mit dem Befehl Als Administrator ausführen noch mal gestartet, dennoch kein Unterschied).
Wenn aber die Datei direkt auf die cmd.exe losgelassen wird, dann wird cmd gestartet und in dem Fenster erscheint der Pfad zu dem Ordner, in der sich diese Datei befindet (die Zeichen werden nicht konvertiert, wie „ pers”nliche“, sondern dann richtig angezeigt - „persönliche“).
Danke für den Tipp.
Member: evinben
evinben Dec 09, 2010 at 08:15:32 (UTC)
Goto Top
Hollo André,

… bei mir wird im edit mit DE-Tastaturlayout ["] auch als ["] dargestellt, überhaupte alle Zeichen sind 1:1.

Echt? Und wieso ist es bei mir nicht? Mir ist es schon nach deiner Antwort oben aufgefallen, dass da bei dir etwas anders mit dem edit.com ist, als bei mir, weil du Folgendes geschrieben hast:

Datei -> Öffnen
Datei -> Speichern
Datei -> Schließen/Beenden


Und nicht

File -> Open
File -> Save
File -> Exit


Vielleicht muss ich edit.de benutzen face-smile?

… und mir ist aufgefallen, dass wenn man den Titel des Fensters (also hier "Probe") weglässt, er nicht auf die Idee kommt, den Pfad auseinander zu pflücken.,

Was da bei euch alles so funktioniert?! Da würde ich echt neidisch.

Ne, ne, nicht bei mir leider.
So etwas (ohne den Fenstertitel) funktioniert bei mir definitiv nicht:

start "" /B "E:\Backup System & pers”nliche Einstellungen\pers”nliche Einstellungen\KlapptOderKlapptNicht.bat"

Und leider auch diese von dir vorgeschlagene Variante funktioniert bei mir ebenso nicht:
 
cd "E:\Backup System & pers”nliche Einstellungen\pers”nliche Einstellungen"   
start "Probe" test.bat  

Zu der Schritt für Schritt-Anleitung:
der im editor geschriebene Pfad "E:\Backup System & persönliche Einstellungen\persönliche Einstellungen"
wird als "E:\Backup System & pers÷nliche Einstellungen\pers÷nliche Einstellungen" bei mir dargestellt (im edit)
also gehe ich zu den [÷], lösche diese und ersetze sie durch [ö] (wie gesagt Tastaturlayout ist und bleibt auf DE)

Ach soo!? Nun weiß ich endlich, was du meinst, da ich das ebenso – umgekehrt aus dem Gleichen Grund wie du – nicht nachvollziehen konnte face-smile. Bei mir werden ja keine Umlaute ausgegeben, obwohl alles auf Deutsch ist: Die Tastatur, das Tastaturlayout, das Betriebssystem, der PC, der Monitor und der Stecker sind auf Deutsch.
„Siehst de?“. Windows ist nicht gleich Windows. Und mir fällt gerade etwas dazu ein:
Diese Vista-CD habe ich gleich, bei der Einführung im Jahr 2007, direkt von Amerika als eine OEM-Version von DELL, automatisch zugeschickt bekommen. Es gibt 1000-de unterschiedliche Ausführungen von einem Betriebssystem und es kann sein, dass diese Version irgendwie in der INI-Datei andere Installationseinstellungen hat, als es gewöhnlich für den deutschen Markt vorgesehen ist. Wenn man sich auskennt, könnte man problemlos den edit umschalten, aber wenn man sich natürlich auskennt.

Fazit:
Auf jeden Fall hat sich dieser Beitrag gelohnt. Ich habe sehr viel dazu gelernt. Und zur Hauptsache: mein Vorhaben, eine externe Batch-Datei in dem erwähnten problematischen Verzeichnis zu starten, funktioniert nun problemlos. Das alles dankbar euch und vor allem dankbar dem Bastla für die robusten funktionsfähigen Lösungen, die selbst auf meiner etwas eigenartigen Umgebung funktionieren. Was will man mehr?
Member: Skyemugen
Skyemugen Dec 09, 2010 at 17:40:55 (UTC)
Goto Top
Aloha,

nur noch als Schmunzler hinterher: edit.de gibt's nicht ;) ich tipp auch nicht edit.com, sondern nur edit (was eigentlich edit.com ist ^.^) aber wir merken ja, dass deine Windows-Version zu sehr im Englischen verwurzelt zu sein scheint, hehe.

btw: ohne Titel meinte ich wortwörtlich also nicht start "" /B "Pfad" sondern start /B "Pfad"

na hauptsache am Ende geht alles so wie es sein soll ;)
Member: evinben
evinben Dec 09, 2010 at 18:34:29 (UTC)
Goto Top
Hi

nur noch als Schmunzler hinterher: edit.de gibt's nicht ;)

;), hast du es wirklich geglaubt? Sei ehrlich, du hast es bestimmt ausprobiert face-smile.

btw: ohne Titel meinte ich wortwörtlich also nicht start "" /B "Pfad" sondern start /B "Pfad"

Ach so hast du es gemeint. Soeben habe ich auch diese Variante ausprobiert und diese funktioniert auf meinem System ebenso nicht.

Eine schöne Abend noch