您希望从我的批处理文件中排除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跳过我不想执行的循环中的文件?
答案 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中,因此请对其进行处理......