该命令的语法不正确 - IF语句批处理

时间:2017-06-03 00:28:35

标签: batch-file

我正在尝试批量执行以下功能,但我在IF语句中收到错误,我一直试图修复此问题,但没有运气。

:Method2
set File=%1
set Filename=%2
echo %Filename%
pause
IF NOT x%Filename:Test=% == x%Filename%
(
    File >> File_List.txt
)

exit /b 2

:End

我知道问题出在IF语句中,一直在调试问题,但无法找到代码的正确语法。在此之后我想替换那个"测试"作为用户的输入参数,因此它可以是任何特定的单词,我想让它看起来像这样......

IF NOT x%Filename:%Input%=% == x%Filename%

你能帮忙吗?

2 个答案:

答案 0 :(得分:1)

:Method2
set "File=%1"
set "Filename=%2"
echo %Filename%
set /p "test=: "
pause
IF NOT "%Filename%%test%" == "%Filename%" (
    File >> File_List.txt
)

exit /b 2

:End

答案 1 :(得分:1)

我已经为我的问题找到了解决方案,是的,基本上"("需要在IF结束时解决了这个问题,对于参数问题,我发现下面的解决方案工作得非常好

:Method2
set File=%1
set Filename=%2
set param=%3
IF NOT "!Filename:%param%=!"=="%Filename%" (
    echo %File% >> File_List.txt
    echo %File% moved
)