传递批处理文件中的两个参数不起作用

时间:2017-11-09 04:21:53

标签: batch-file cmd

我需要将两个参数传递给批处理文件,该文件将验证文件名是否可用。我无法运行下面的代码,因为如果两个参数之一为false,我需要批处理文件来提示所需的消息。

请帮忙吗?

@echo off

echo.
if "%1" == "" if "%2" == "" (
    echo Syntaxe : parameters required
    exit /B 1
)

if EXIST %1 (
    echo %1 exist
) ELSE (
    echo file: %1 does not exist
)

if EXIST %2 (
    echo %2 exist
) ELSE (
    echo file: %2 does not exist
)

1 个答案:

答案 0 :(得分:0)

该行

if "%1" == "" if "%2" == ""

检查 %1%2是否为空。您要做的是逐个检查它们,以便在 <{em> %1%2为空时退出脚本。

if "%1" == "" (
  echo This script requires two parameters.
  goto :eof
)
if "%2" == "" (
  echo This script requires two parameters.
  goto :eof
)

为避免两次写入相同的代码,建议的解决方案是将其隔离为错误例程:

if "%1" == "" goto :emptyarg
if "%2" == "" goto :emptyarg
...
goto :eof
:emptyarg
echo This script requires two parameters
goto :eof