如何在批处理文件中创建OR语句?

时间:2012-01-13 10:52:45

标签: command-line batch-file cmd command-prompt sqlcmd

您希望从我的批处理文件中排除2个或更多文件。

我的批处理文件执行该文件夹中的所有SQL个文件。

以下是代码:

ECHO %USERNAME% started the batch process at %TIME% >output.txt 

FOR %%G IN (*.sql) DO (
//IF would go here to skip unwanted files
sqlcmd.exe  -S RMSDEV7 -E   -d ChaseDataMedia7 -i "%%G" >>output.txt
)

pause

那么,我将如何添加并且如果statemant跳过我不想执行的循环中的文件?

2 个答案:

答案 0 :(得分:4)

你可以链接IF;

FOR %%G IN (*.sql) DO (
   if not %%G==foo.sql if not %%G==bar.sql (
      some command "%%G"
   )
)

答案 1 :(得分:2)

@echo off
setlocal EnableDelayedExpansion
set unwantedFiles=foo bar baz
for %%g in (*.sql) do (
   set "test=!unwantedFiles:%%~Ng=!"
   if "!test!" == "!unwantedFiles!" (
      echo %%~Ng.sql is not unwanted, process it:
      echo Process with %%g
   )
)

获取名称并通过删除当前名称复制unwantedFiles。如果结果与之前相同,则此名称不在unwantedFiles中,因此请对其进行处理......