批处理文件中嵌套if-else条件的问题



如果else从"备忘录文件和未找到的其他文件">";未找到备忘录文件">

有人能帮我吗?

如果你能解决问题,我将不胜感激。谢谢

原始代码

@ECHO OFF
SET FOLDER="D:temptest"
SET TRANS="D:temptestTransTrans.txt"
SET MEMO="D:temptestMemoMemo.txt"
SET OTHER="D:temptestOtherOther.txt"
IF NOT EXIST %FOLDER% (
ECHO Folder Not Found
) ELSE (
IF NOT EXIST %MEMO% (
IF NOT EXIST %TRANS% (
IF NOT EXIST %OTHER% (
ECHO All Files Not Found
) ELSE (
IF NOT EXIST %MEMO% (
IF NOT EXIST %TRANS% (
ECHO Memo File AND Trans File Not Found
) ELSE (
IF NOT EXIST %MEMO% (
IF NOT EXIST %OTHER% (
ECHO Memo File AND Other File Not Found
) ELSE (
IF NOT EXIST %TRANS% (
IF NOT EXIST %OTHER% (
ECHO Trans File AND Other File Not Found
) ELSE (
IF NOT EXIST %TRANS% (
ECHO Trans File Not Found
) ELSE (
IF NOT EXIST %MEMO% (
ECHO Memo File Not Found
)
)
)
)
)
)
)
)
)
)
)
)

这是我的做法:

@ECHO OFF
SET FOLDER="D:temptest"
SET TRANS="D:temptestTransTrans.txt"
SET MEMO="D:temptestMemoMemo.txt"
SET OTHER="D:temptestOtherOther.txt"
IF NOT EXIST %FOLDER% (
ECHO Folder Not Found
GOTO :EOF
)
SET "NOTFOUND="
IF NOT EXIST %TRANS% SET "NOTFOUND=Trans"
IF NOT EXIST %MEMO% SET "NOTFOUND=Memo %NOTFOUND%"
IF NOT EXIST %OTHER% SET "NOTFOUND=Other %NOTFOUND%"
IF DEFINED NOTFOUND ECHO These files not found: %NOTFOUND%

此示例是否输出您试图检索的信息:

@ECHO OFF
SET "FOLDER=D:temptest"
SET "TRANS=%FOLDER%TransTrans.txt"
SET "MEMO=%FOLDER%MemoMemo.txt"
SET "OTHER=%FOLDER%OtherOther.txt"
IF NOT EXIST "%FOLDER%*" (
ECHO Folder Not Found
) ELSE (
IF NOT EXIST "%MEMO%" (
IF NOT EXIST "%TRANS%" (
IF NOT EXIST "%OTHER%" (
ECHO All Files Not Found
) ELSE (
ECHO Memo File AND Trans File Not Found
)
) ELSE (
IF NOT EXIST "%OTHER%" (
ECHO Memo File AND Other File Not Found
) ELSE (
ECHO Memo File Not Found
)
)
) ELSE (
IF NOT EXIST "%TRANS%" (
IF NOT EXIST "%OTHER%" (
ECHO Trans File AND Other File Not Found
) ELSE (
ECHO Trans File Not Found
)
) ELSE (
IF NOT EXIST "%OTHER%" (
ECHO Other File Not Found
) ELSE (
ECHO All Files Found
)
)
)
)
PAUSE

最新更新