a0d0s0
Goto Top

If Probleme

Hallo,

ich habe eine config Datei geschrieben , die sich autom. den Pfad sucht (mit %~dp0)

Alles funktioniert soweit, auf meinem Latop, denn auf meinem Latop ist der Pfad z.B. C:\Programme\....
Auf meinem Stand-Rechner lautet der Pfad dann C:\Program Files\...

batch erkennet (wegen dem Leerzeichen) jedoch nur C:\Program -.-

irgendwelche Tipps ?

Greez A0D0S0

Content-Key: 170594

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

Printed on: April 25, 2024 at 22:04 o'clock

Member: Luckyguy
Luckyguy Jul 28, 2011 at 15:01:50 (UTC)
Goto Top
also bei shellscripten schreibt man auseinander geschriebene Pfad namen in Anführungszeichen
Member: A0D0S0
A0D0S0 Jul 28, 2011 at 15:05:52 (UTC)
Goto Top
Habe ich schon probiert, bricht dan einfach ab

Habe schon daran gedacht den pfad manuell zu ändern sprich :

if %pfad%=="C:\Program Files\" (
set pfad="C:\Programme\"
)

leider wird auch immer abgebrochen
Member: Luckyguy
Luckyguy Jul 28, 2011 at 15:12:30 (UTC)
Goto Top
ja ist bei deinem desktop rechner was hast da für ein system drauf ?? und was auf deinem latop also windows klar aber welches
Member: Luckyguy
Luckyguy Jul 28, 2011 at 15:14:52 (UTC)
Goto Top
und was soll der batch denn genau machen ?
Member: bastla
bastla Jul 28, 2011 at 15:18:26 (UTC)
Goto Top
Hallo A0D0S0!

Grundsätzlich ist es immer sinnvoll, den entsprechenden Code zu posten (und dabei die entsprechende zu verwenden) ...

Zu Deinem kurzen Schnippsel fehlt natürlich die Zuweisung an die Variable %pfad% - soferne der darin enthaltene Pfad nicht unter Anführungszeichen steht oder ev eine andere Schreibweise (Stichwort Groß-/Kleinschreibung) enthält, kann das so nicht funktionieren, wobei ich es sowieso nicht für sinnvoll hielte, den Pfad zu "verbiegen".

Es gibt übrigens die Variable %ProgramFiles%, die den entsprechenden Pfad zum "Programme"-Ordner (also je nachdem "C:\Programme" oder "C:\Program Files") enthält.

Grüße
bastla
Member: A0D0S0
A0D0S0 Jul 28, 2011 at 15:38:56 (UTC)
Goto Top
set var1=%~dp0
for /f "delims=V" %%a in ("%var1%") do set pfad=%%a  

if %pfad%=="C:\Program Files\" (  
set pfad="C:\Programme\"  
)

Ich weiß , das ist nicht ganz sauber, zur Info: Mein Programm heißt VideoTool und deshalb trenn ich bei V sprich wenn der Pfad heißt C:\Programme\VideoTools\... bleibt
nach der Schleife noch C:\Programme\ ;)

%programFiles% wäre gut, aber ich will das ganze unabhängig machen ( z.B. auch mal nicht im Ordner Programme )


Am Laptop hab ich : XP
Am Stand-Rechner : Win7 Home premium

greez A0D0S0
Member: bastla
bastla Jul 28, 2011 at 17:31:24 (UTC)
Goto Top
Hallo A0D0S0!

Um den "Elternordner" zu finden, sollte
for %%i in ("%~f0\..") do set "pfad=%%~dpi"
genügen ...
Wozu das Umwandeln von "C:\Program Files\" nach "C:\Programme\" gut sein sollte, habe ich übrigens noch immer nicht verstanden ...

Grüße
bastla