Batch Probleme mit Leerzeichen im Pfad

Flo89

Rear Admiral
Registriert
Mai 2007
Beiträge
5.643
Hi,

eigentlich eine einfache Sache:

Ich möchte Programme mit einer Batchdatei silent installieren, funktioniert im Prinzip auch.

Allerdings nicht, wenn im Pfad Leerzeichen sind.


Hier ein Beispiel, dass nicht funktioniert:
Code:
[...]
echo installiere .NET Framework 3.5...
start /wait \\[I]servername[/I]\[I]pfad[/I]\[COLOR="Red"]NET Framework[/COLOR]\[COLOR="#ff0000"]dotnetfx35 (Framework 3.5).exe[/COLOR] /passive /lang:DEU /norestart
echo fertig
[...]

Die beiden rot markierten Stellen bereiten mir Probleme.
Kopiere ich die Datei an einen Ort, dessen Pfad keine Leerzeichen hat und nenne die Datei zum Beispiel net.exe, funktioniert die Installation.

Ich habe schon ein paar Änderungen probiert, aber jedesmal gab es andere Probleme. Wenn gewünscht, mache ich mir die Arbeit und schreibe alles detailiert auf, aber ich hoffe, jemand weiß ganz einfach, wo man Anführungszeichen oder ähnliches setzen muss.

Vielen Dank schonmal :)


Edit:
Hier die verschiedenen Fehler:
Code:
start /wait \\servername\pfad\NET Framework\dotnetfx35 (Framework 3.5).exe /passive /lang:DEU /norestart
--> "\\servername\pfad\NET" konnte nicht gefunden werde.

Code:
start /wait [COLOR="Red"]"[/COLOR]\\Srv-w3k-onehand\INSTALL\NET Framework\dotnetfx35 (Framework 3.5).exe[COLOR="#ff0000"]"[/COLOR] /passive /lang:DEU /norestart
--> Ungültige Option - "/passive".

Code:
start /wait [COLOR="#ff0000"]"[/COLOR]\\Srv-w3k-onehand\INSTALL\NET Framework\dotnetfx35 (Framework 3.5).exe /passive /lang:DEU /norestart[COLOR="#ff0000"]"[/COLOR]
--> Neues CMD-Fenster wird geöffnet, mit dem Pfad, in dem die ursprüngliche cmd-Datei liegt.
 
Zuletzt bearbeitet:
Aus dem Bauch raus:
start /wait "\\servername\pfad\NET Framework\dotnetfx35 (Framework 3.5).exe" /pas...
 
Geht leider auch nicht, siehe meinen Edit.


Neuer Gedanke:
Geht es, wenn ich anstatt "NET Framework" --> "NET Fr~1" schreibe und ist das eine saubere/empfehlenswerte/übliche Methode?

Edit:
Ist ja auch Krampf, beseitigt das Leerzeichen ja nicht -.-
 
Zuletzt bearbeitet:
der Befehl start interpretiert das erste geschriebene in Anführungzeichen als Titel für das neue Fenster.

Lösung:
Code:
start "FensterTitel" /wait "\\Srv-w3k-onehand\INSTALL\NET Framework\dotnetfx35 (Framework 3.5).exe" /passive /lang:DEU /norestart

viel Erfolg
 
echo off
%str%="\\servername\pfad\NET Framework\dotnetfx35 (Framework 3.5).exe" /passive /lang:DEU
start /wait %str%
 
Die Fenstertitel-Methode funktioniert perfekt, danke :)

die %str%-Methode funktioniert nicht ganz perfekt, zwar startet die Installation, aber wenn ich sie abbreche, öffnet sich wieder ein neues cmd-Fenster, mit dem Pfad der ursprünglichen cmd.
Normalerweise wird die Installation ja nicht abgebrochen, mit Fenstertitel geht es aber einfacher ;)


Edit:
Sehe ich "Fenstertitel" eigentlich irgendwo oder ist das nur etwas, dass die cmd haben möchte?
 
Zuletzt bearbeitet:
"\\servername\pfad\NET%Framework\dotnetfx35.exe" /passive/lang: DEU/norestart

" oder %

Kürze den installer von dotnetfx35 (Framework 3.5).exe auf dotnetfx35.exe


" nihmt den Ganzen Pfad ignoriet lehrzeichen
% ist ein Lehrzeichen das das CMD verstehen solte
 
Zuletzt bearbeitet:
Natürlich siehst Du das, und zwar in der Titelleiste im neu geöffneten Fenster. Du kannst auch etwas anderes reinschreiben als "Fenstertitel", das war nur ein Beispiel von mir.
 
@ Almost
Dateiname ändern ist nicht drin, da bleibt alles so, wie es ist (nicht mein Netzwerk hier ;)).
Das Prozentzeichen haut nicht hin, er lässt dann nur irgendwie den Teil vom % bis zum : weg.

@ das.produkt
@ FBrenner
Nö, der Name ändert sich nicht. Es steht dort weiterhin das Standardzeugs:

Extracting Files

Microsoft Windows


Wobei es eigentlich egal ist. Hauptsache die silent-Installation funktioniert.
 
Zuletzt bearbeitet:
Zurück
Oben