从你写的脚本内容来看,大体可以知道,你有两点没弄明白
1、“setlocal ENABLEDELAYEDEXPANSION”,在什么情况下才需要用?本例中并不需要这个。
2、for中的变量可以迭代,若指定第一个变量为%%a,那么可以在for后续的循环体中用%%b代表第二个变量,%%c代表第三个,依此类推。
建议把for循环的帖子好好看看,弄懂为止
可能你完全弄懂需要花费3个小时的时间,但总比你求助一次要花半小时,以后遇到10次for循环的问题要好,因为弄懂之后,不会为再次出现相同的问题而浪费时间。
@echo off
for /f "tokens=1,2" %%a in (ISPID.TXT) do (
for /f "tokens=1,2" %%c in (ProvinceID.txt) do (
echo.> acl_%%a_%%c_1.txt
sqlcmd -U XX -P XX -d ipmask -Q "SELECT [net],[net mask] FROM [ipmask].[dbo].[result] where isp=%%b and province=%%d" -o acl_%%a_%%c_1.txt
)
)
pause