Batch If else - Dateityp erkennen und Anweisung1 ausführen

ryan_blackdrago

Captain
Registriert
Nov. 2006
Beiträge
4.014
[BATCH] Dateityp erkennen und Anweisung ausführen

Ich wollte eine Batch basteln.
Wenn eine Textdatei auf diese gezogen (Drag&Drop) wird, soll erkannt werden, ob es eine Textdatei ist oder nicht. Entsprechend dann die Anweisung1 ausführen.
Jetzt funktioniert nur die Batch, wenn die .TXT von C:\1\test.txt draufgezogen wird. Klar, daß dann erst der Vergleich stimmt.
Wie und wo muß ich, denke wahrscheinlich eine FORschleife, einbauen um den Dateityp zu erkennen?
Sollte ja schließlich von überall aufrufbar sein und nicht nur von C:\1\

//EDIT: Nochmals einfacher gesagt (hab den Quellcode mal rausgenommen)

Datei per Drag&Drop auf Batch gelegt, dann prüfe ob Dateityp TXT (
Wenn Dateityp = TXT dann ( Anweisung 1 )
ansonsten ( Anweisung2 )
 
Zuletzt bearbeitet:
Hab mal ein bisschen gebastelt, bei mir klappts so:

Code:
@echo off

if %~x1  == .txt (goto isTxt) else (goto isNoTxt)

:isTxt
echo %1 ist eine Textdatei
goto end

:isNoTxt
echo %1 ist keine Textdatei
goto end

:end
pause

%1 ist der erste übergebene Parameter --> wenn du eine Datei auf die Batch ziehst, dann ist der erste Parameter immer der Dateipfad der draufgezogenen Datei

%~x1 extrahiert die Dateiendung aus dem Pfad
 
Zuletzt bearbeitet:
Zurück
Oben