批处理如何判断是否传递给文件参数

2024-12-28 22:32:47
推荐回答(3个)
回答1:

%1 是表示传递的第一个参数,如果没带参数,则 %1 为空 ,对于你写的代码而言,形同:
if not exit goto :sorry
当然是语法错误,
下面第一句把%1为空的跳开就不会发生语法错误了:
if "%1"=="" echo 应该带参数运行&goto :sorry
if not exist %1 echo 找不到 %1 文件或文件夹&goto :sorry

回答2:

%1 是表示传递的第一个参数,如果没带参数,则 %1 为空 ,对于写的代码而言,形同:
if not exit goto :sorry
当然是语法错误
下面第一句把%1为空的跳开就不会发生语法错误了:
if "%1"=="" echo 应该带参数运行&goto :sorry
if not exist %1 echo 找不到 %1 文件或文件夹&goto :sorry

回答3:

你怎么用的啊?
if not exist %1 (goto error ) else ( goto yes)
:error
echo error
pause
:yes
echo yes
pause
上面的保存成bat
然后随便拖一个文件上去,没出现问题啊