Start '' 'C:\Test.bat' PARAMETER?

Hallo Leute!

Habe folgendes Problem:

Ich habe eine Batch-Datei, der ich einen Pfad als Parameter übergeben muss.

Diese Batch-Datei wird über eine andere Batch-Datei aufgerufen, und zwar so:

Start „“ „C:\Test.bat“ PARAMETER

Das Problem ist jetzt, dass ich als Parameter den Pfad „F:\EIGENE DATEN\Batch\Wasweissich“ übergeben will.

Nun übergibt der "Start "-Befehl jedoch nur „F:\EIGENE“ - und nicht den ganzen Pfad. Meine aufgerufene Test.bat funktioniert also nicht, da der übergebene Parameter falsch ist.

Den PARAMETER-Pfad habe ich schon in „“ gesetzt, auch in () und [] - aber nichts von diesen Dingen hilft, den Parameter im Ganzen zu übergeben. Habt ihr vielleicht eine Idee?

Mit freundlichen Grüßen
Alex

Was mir gerade noch einfällt - eine Funktion zum 8.3-Dateinamen erstellen gibt es unter DOS nicht zufällig? :smiley:

Hallo Alex,

nur so ein Gedanke: Aus VB-Script kenne ich es, dass man ab und zu statt einem " drei schreiben muss, also „“"
Probiers doch mal mit „“„F:\EIGENE DATEN\Batch\Wasweissich“""

Gruß, Andreas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Was mir gerade noch einfällt - eine Funktion zum
8.3-Dateinamen erstellen gibt es unter DOS nicht zufällig? :smiley:

Hi!

Also ich hab da gerade einen gedanken ausprobiert:

es gibt unter Dos eine sogenannte Kompatiblitätsfunktion und zwar nimmt man bei zb: „EIGENE DATEIEN“ die ersten 6 zeichen vom namen und ergänzt um ein tilde ~ mit darauffolgender 1 also z.B EIGENE~1
und schon ists in 8:3 konvertiert!

LG
Peter

Ok - das mit dem 8.3-Dateinamen erstellen wäre sowas wie eine Notlösung, da es ja auch mal sein kann dass die Datei „waswei~1.bat“ heißt…

Das mit den 3x " funktioniert leider nicht, genausowenig wie ’ ’ - nunja, werd ich das wohl bleiben lassen oder über eine temporäre Datei lösen - aber wenn noch jemand eine Idee hat, nur her damit :smiley:

Hallo!

Nun übergibt der "Start "-Befehl jedoch nur „F:\EIGENE“ - und
nicht den ganzen Pfad. Meine aufgerufene Test.bat funktioniert
also nicht, da der übergebene Parameter falsch ist.

Es wird schon der gesamte Pfad übergeben, aber, da ein Leerzeichen drin ist, als zwei Parameter. Und in Test.bat müsstest Du die Parameter wieder zu einem zusammenbauen.
Beispiel: Der Pfad ist eine Datei, die Du mit notepad öffnen willst:

notepad "%1 %2 %3 %4"

oder kürzer:

notepad "%\*"

HTH
Jan

Hallo Alex,

Du musst den Parameter beim Aufruf des Skripts in Anführungszeichen setzen, also

Start „C:\Test.bat“ „PARAMETER“

Mit folgendem Skript kannst Du sehen, welche Infos man aus einem Parameter holen kann.

----- SCHNIPP: datinfo.bat -----
@echo off

echo Parameter 1: %1
echo ohne „“ : %~1
echo.
echo.
echo Dateiname (inkl. Pfad): %~f1
echo in 8.3-Notation : %~s1
echo.
echo.
echo Laufwerk : %~d1
echo Pfad : %~p1
echo Name : %~n1
echo Erweiterg: %~x1
echo Attribute: %~a1
echo Zeit : %~t1
echo Groesse : %~z1
echo.
echo.
echo Alle Parameter:
echo %*
----- SCHNAPP: datinfo.bat -----

Ruf das Skript einfach mal mit unterschiedlichen Parametern auf, z.B.:
datinfo.bat „F:\EIGENE DATEN\Batch\Wasweissich.txt“
datinfo.bat F:\EIGENE DATEN\Batch\Wasweissich.txt
datinfo.bat „F:\EIGENE DATEN\Batch“

Gruß
Volkmar

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]