gpt4 book ai didi

sql - DOS 批处理文件 - 循环并递增 1

转载 作者:行者123 更新时间:2023-12-02 06:23:32 26 4
gpt4 key购买 nike

我有这个批处理文件,它在远程机器上登录到 sql,运行一个存储过程,然后将输出发送到一个文本文件。我希望它将 IP 地址中的第三个八位字节和输出文本文件的名称都递增 1 并循环,这样我就不必一遍又一遍地重复命令。另外,我希望它在达到一定数量时停止。有办法做到这一点吗?

sqlcmd -U user -P password -S 192.168.1.2 -i c:\sql\storecreditfix.sql -o c:\sql\ouput01.txt
sqlcmd -U user -P password -S 192.168.2.2 -i c:\sql\storecreditfix.sql -o c:\sql\ouput02.txt
sqlcmd -U user -P password -S 192.168.3.2 -i c:\sql\storecreditfix.sql -o c:\sql\ouput03.txt
sqlcmd -U user -P password -S 192.168.4.2 -i c:\sql\storecreditfix.sql -o c:\sql\ouput04.txt
sqlcmd -U user -P password -S 192.168.5.2 -i c:\sql\storecreditfix.sql -o c:\sql\ouput05.txt

最佳答案

这会做你想做的。/L 说明符告诉它像常规编程 for 循环一样工作。第一个参数是起始整数,接下来是步数,最后是计数。所以这将从 1 开始循环,对于 6 个整数递增 1:

@echo off
FOR /L %%G IN (1, 1, 6) DO (
echo sqlcmd -U user -P password -S 192.168.%%G.2 -i c:\sql\storecreditfix.sql -o c:\sql\ouput0%%G.txt
)

如果你想做一个 IP 列表而不是一个范围,你可以省略/L 而只列出数字。例如 FOR %%G IN (1,2,3,99,121) DO ...

显然sqlcmd之前的“echo”只是为了测试;)

关于sql - DOS 批处理文件 - 循环并递增 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4859016/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com