Batch Variable mit If und else festlegen

Hallo zusammen,

ich bin am verzweifeln bei der Suche nach einer Lösung meines Anliegens:

Ich habe eine Batch-Datei, welche unterschiedliche Dateien in verschiedene Verzeichnisse verschiebt.
Den Dateiendungen habe ich Variablen zugewiesen.

Ich möchte nun einer Variablen eine Dateiendung zuweisen, die er sich erst suchen muss.

Mein Gedanke war folgender:
SET VAR1=(if exist *.htm (Set VAR1=*.xls) else (Set VAR1=*.html))

If exist %VAR1% (move %VAR1% c:\HTML) Else (echo Keine Datei vorhanden)

Ich habe leider festgestellt, dass es so nicht funktioniert. Das Ergebnis lautet „Datei nicht gefunden“

Die einfachste Möglichkeit ist eine zweite Variable zu vergeben. Als Plan B halt ich mir das im Hinterkopf, sollte es keinen Plan A geben.

Kann mir von Euch jemand helfen einen Plan A zu finden?

Vielen Dank und viele Grüße Equi

Hallo.

Mein Gedanke war folgender:
SET VAR1=(if exist *.htm (Set VAR1=*.xls) else (Set
VAR1=*.html))

Ich glaube, „exist“ geht nur mit einem konkreten Dateinamen, also nich mit Wildcard „*.htm“.

If exist %VAR1% (move %VAR1% c:\HTML) Else (echo Keine Datei
vorhanden)

Was genau hast du denn vor?
Wenn mind. eine HTM-Datei existiert, verschiebe alle XLS-Dateien in das Verzeichnis HTML. Wenn keine HTM-Datei existiert, verschiebe alle HTML-Dateien?
Das klingt irgendwie komisch, aber so würde ich deinen Code interpretieren.

Sebastian.

verhaspelt
Hallo,

SET VAR1=(if exist *.htm (Set VAR1=*.xls) else (Set
VAR1=*.html))

Du wiesesst VAR1 den ganzen Ausdruck zu. Schau dir das einfach mit
ECHO %Var1% mal an´

Gruß
achim

Entschuldigung,

das xls war völlig fhel am Platz.

Hier der korrigierte Code:

SET VAR1=(if exist *.htm (Set VAR1=*.htm) else (Set VAR1=*.html))

If exist %VAR1% (move %VAR1% c:\HTML) Else (echo Keine Datei vorhanden)

Danke Dir Achim,

da lag der Hase vergraben.
„Echo %Var1%“ hat mir den nötigen Gedankenanstoß gegeben.

Vielen Dank und viele Grüße
Equi