在'for循环'之后的批处理文件中,它没有执行'if else'语句

时间:2017-02-20 12:16:42

标签: batch-processing

文件夹中有几个文件,如

abc-xyz-1-01022017
abc-xyz-2-01022017
abc-xyz-1-02022017

等。我正在遍历所有这些文件,并检查用户输入的日期%1,文件名中的日期如01022017.对于循环执行良好但在此之后它不检查条件。这是我的代码

for /f "tokens=1,2,3,4,5 delims=-." %%a in ('dir /b D:\NewFolder *-*-*-*.*') do echo set filename=%%a-%%b-%1 set date=%%d 
IF [%1]==%date% (echo "same date") else (echo "different date")

1 个答案:

答案 0 :(得分:0)

  • 如果你只是用命令分隔命令后追加命令 空间不一定要执行。
  • 您可以使用doesNotExist附加命令或将它们放入(代码块) 被括号括起来。
  • for vars仅在同一行或do上执行后才有效 在相同的代码块中。
  • 比较几个文件不能有一个结果,所以echo应该包含它所指的文件。
  • 将括号内的日期与不带括号的日期进行比较将始终失败。

试着猜测一下你的意思:

&