Andy123: CMD - Fehler im Quelltext

Hi,

was ist hier falsch?
Die Ausgabe lautet nämlich immer "beide da!", egal ob beide, keins oder nur eins da ist.

@ECHO OFF

IF EXIST %USERPROFILE%\Desktop\txt2.txt & EXIST %USERPROFILE%\Desktop\txt1.txt (
    echo beide da!
    goto end
) ELSE (
    echo eins von beiden fehlt!
)
:end
pause

  1. Hallo

    was ist hier falsch?
    Die Ausgabe lautet nämlich immer "beide da!", egal ob beide, keins oder nur eins da ist.

    @ECHO OFF

    IF EXIST %USERPROFILE%\Desktop\txt2.txt & EXIST %USERPROFILE%\Desktop\txt1.txt

    a) zu was expandiert die Umgebungsvariable?
       Zu einem Pfad mit Leerzeichen?

    b) Was möchtest Du mit & bezwecken?

    Die Syntax von if in dem von Dir angeführten Zusammenhang lautet:

    if [not] exist Dateiname Befehl [else Ausdruck]

    Nein, da steht in der Bedingung nichts von einem Ausdruck, nur unter else.

    Freundliche Grüße

    Vinzenz

  2. Moin Moin!

    & in IF macht nicht das, was Du erwartest.

    Klammern gibt es in DOS/WinNT-Batches, aber die machen nicht das, was Du erwartest.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".