如何验证不是从bat文件退出的文件

时间:2019-09-09 06:48:19

标签: file batch-file cmd

1。请在cmd文件中输入文件路径 2.然后验证该文件是否退出 3.在不输入的情况下再次输入消息

已经尝试了是否存在代码,但是它不起作用

:IMP_FILE
echo import from csv !
set /p CSV_FILE=Pres enter csv file path .
echo CSV_FILEfile
IF EXIST CSV_FILE
echo CSV_FILE file exist !
IF NOT EXIST CSV_FILE goto file_not_exit
goto :done

:file_not_exit
echo file not found please enter again
goto IMP_FILE



如果我输入了一些东西,则按Enter键关闭命令提示符

2 个答案:

答案 0 :(得分:1)

:IMP_FILE
echo import from csv !
set /p CSV_FILE=Pres enter csv file path .
echo %CSV_FILE%file
IF EXIST %CSV_FILE% goto file_find
IF NOT EXIST %CSV_FILE% goto file_not_exit
goto :done

:file_not_exit
echo file not found please enter again
goto IMP_FILE

:file_find
echo file found
goto :done

答案 1 :(得分:0)

1。)这里的第一个问题是您的代码缺少一个被调用的函数。您应该在代码中添加一个done函数,以使其有意义。

2。)本节所包含的程序逻辑中存在错误:

IF EXIST CSV_FILE
echo CSV_FILE file exist !
IF NOT EXIST CSV_FILE goto file_not_exit
goto :done

似乎除了回显一条消息外,您什么也不做,然后转到所谓的“完成”功能。这是导致您的代码立即关闭窗口的罪魁祸首。 更正这些错误后,您的代码应如下所示:

:IMP_FILE
echo import from csv !
set /p CSV_FILE=Pres enter csv file path .
echo %CSV_FILE%file
IF EXIST %CSV_FILE% goto file_find
IF NOT EXIST %CSV_FILE% goto file_not_exit
goto :done

:file_not_exit
echo file not found please enter again
goto IMP_FILE

:file_find
echo file found
goto :done

:done
echo Execution complete!
pause
exit

注意:为了调试起见,我在此处包括了“ pause”语句。这将使您的代码能够正确执行(如果已编译),并且无论是否找到该文件,cmd窗口都应保持打开状态。