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-ID: 170594

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

Ausgedruckt am: 26.11.2024 um 01:11 Uhr

Luckyguy
Luckyguy 28.07.2011 um 17:01:50 Uhr
Goto Top
also bei shellscripten schreibt man auseinander geschriebene Pfad namen in Anführungszeichen
A0D0S0
A0D0S0 28.07.2011 um 17:05:52 Uhr
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
Luckyguy
Luckyguy 28.07.2011 um 17:12:30 Uhr
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
Luckyguy
Luckyguy 28.07.2011 um 17:14:52 Uhr
Goto Top
und was soll der batch denn genau machen ?
bastla
bastla 28.07.2011 um 17:18:26 Uhr
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
A0D0S0
A0D0S0 28.07.2011 um 17:38:56 Uhr
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
bastla
bastla 28.07.2011 um 19:31:24 Uhr
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