Suche bestimmte Batch Syntax

Ru77y

Ensign
Registriert
Aug. 2007
Beiträge
141
Tach,

suche einen Befehl:

=> die Batch datei soll sich an Laufwerken (bzw. Buchstaben) orientieren
Bsp.

1. Starte ich die Datei von C:
> soll sie z.B. "Das is C:" augeben

2. Starte ich die Datei von D:
> soll sie z.B. "Das is D:" augeben

=> is nur mal ein Bsp. :D

Ich hoffe da gibs ne möglichkeit!

Danke!
 
ich habe zwar nicht ganz verstanden was du eigentlich willst, aber schau dir das hier an!

Code:
@ECHO off
SET programm=C:\Programme\start.exe

FOR /F %%I IN ("%programm%") DO ECHO "Das ist %%~dI\"

EDIT:
ah, ich glaube ich weis jetzt was du willst.

Code:
@ECHO off
FOR /F %%I IN ("Name_von_der_Batch-Datei,_ohne_Pfad") DO ECHO "Das ist %%~dI\"
 
Zuletzt bearbeitet:
EDIT:
ah, ich glaube ich weis jetzt was du willst.

Code:
@ECHO off
FOR /F %%I IN ("Name_von_der_Batch-Datei,_ohne_Pfad") DO ECHO "Das ist %%~dI\"

Ja, das ises... nur möchte ich das noch ein bissel komplexer:

1. starte Datei von C:
> echo Das ist C:

2. starte Datei nicht von C:
> echo Das ist nicht C:

=> is nur ein Bsp. das ich danach noch weiter anpassen

zum 2. mal Danke!
 
dann versuche mal, dass hier

Code:
@echo off
FOR /F %%I IN ("start.cmd") DO SET LW=%%~dI

if %LW% EQU C: echo "Datei von %LW%\"
if %LW% NEQ C: echo "Datei nicht von C:\"

Es wäre vielleicht besser, wenn du dein komplettes Vorhaben beschreiben würdest.
Dann kommen vielleicht schneller zum Ziel.
oder hast du etwas unanständiges vor? ;-)

MfG JackRipper
 
Zuletzt bearbeitet:
jojojo!!!!!!!!!!!!!! :daumen::daumen::daumen::cheerlead::cheerlead::cheerlead:
DAS is es!!

Danke!!!



goto ende
:D:D:D

:ende
Danke!
Schönen Abend noch!
 
Code:
@echo off
FOR /F %%I IN ("start.cmd") DO SET LW=%%~dI

if %LW% EQU C: echo "Datei von %LW%\"
if %LW% NEQ C: echo "Datei nicht von C:\"

Is doch ein Problem aufgetreten:
der "/F" Befehl funzt nicht unter FreeDos, gibs da ne Möglichkeit?
 
Hallo G.O.D.90,

die for-Schleife für jedes mal den Befehl "set" aus.
Das erkennt man ganz gut an dem "do set" :).
 
did weis ich!
=> ich formuliers mal anders:

Befehl = Programm
--------------------------
Format = format.exe
chkdsk = chkdsk.exe
FOR = ???.exe
;)

Ich hoffe da kann mir einer helfen!

Ps.: Sorry für das 4fach Posting!!
 
In C:\WINDOWS\system32\command.com müsste es stehen, das wird dir aber nicht viel nützen.

Die For-Schleife aus DOS sollte eigentlich zu 100% mit der von FreeDOS kompatibel sein, wenn nicht dann versuche doch denn Befehl etwas abzuändern.
Das was ich oben geschrieben habe ist nicht verbindlich und nicht die einzige Lösung, es gibt viele.
 
Hast recht, hilft mir nicht weiter :(

=> Das FOR-Problem liegt am "/F" Befehl
> wenn ich den weg lasse, dann funzts auch (nur unter Windoff)

=> nur wird in Freedos statt "C:" => "%~dI" angezeigt
 
Naja es ist so das die /F bei der For-Schleife eine Erweiterung aus der cmd.exe (nur in Windows NT/2k/XP/XP64/2k3 vorhanden) ist und nicht in dem altem Kommandozeileninterpreter command.com enthalten.

Da FreeDOS aber nur zu dem MS-DOS kompatibel ist, können dort auch nur die Befehle aus der command.com verwendet werden.


%~dI ist ebenfalls eine Erweiterung aus der cmd.exe und kann volglich nicht unter MS-DOS/FreeDOS verwendet werden.


versuche mal das hier, ich weiss zwar nicht ob der SET-Befehl aus cmd.exe, auch unter command.com genauso funktioniert, aber einen versuch ist es wert.


Code:
@echo off
set LW=%0
set LW=%LW:~1,2%

if %LW% EQU C: echo "Datei von %LW%\"
if %LW% NEQ C: echo "Datei nicht von C:\"
 
Hmm... Unter Windoof gehts, nur Freedos net!

wenn ich "@echo off" weg lasse, spuckt er das aus:

set LW=Test

set LW=

if %LW% EQU C: echo "Datei von \"
Syntax error.

if %LW% NEQ C: echo "Datei nicht von C:\"
Syntax error.
 
Zurück
Oben