Batch file 用户输入-DOS批处理文件
我得到的bat文件如下:Batch file 用户输入-DOS批处理文件,batch-file,dos,Batch File,Dos,我得到的bat文件如下: @ECHO Executing scripts... PAUSE for %%X in (*.SQL) do SQLCMD -S localhost -d CTL -I -i "%%X" >> ResultScript.txt pause 在本文中,我希望为localhost(sqlserver实例)和CTL(数据库)提供用户输入。 如何在DOS(os:WinXP)中实现这一点 谢谢 所以你的批处理文件应该是这样的 @ECHO Executing
@ECHO Executing scripts...
PAUSE
for %%X in (*.SQL) do SQLCMD -S localhost -d CTL -I -i "%%X" >> ResultScript.txt
pause
在本文中,我希望为localhost(sqlserver实例)和CTL(数据库)提供用户输入。
如何在DOS(os:WinXP)中实现这一点
谢谢
所以你的批处理文件应该是这样的
@ECHO Executing scripts...
PAUSE
SET /P sqlServer=Please enter SQLServer:
SET /P CTL=Please enter CTL:
for %%X in (*.SQL) do SQLCMD -S %sqlServer% -d %CTL% -I -i "%%X" >> ResultScript.txt
pause
使用参数标记,其中%1表示第一个参数,%2表示第二个参数,依此类推:
for %%X in (*.SQL) do SQLCMD -S %1 -d %2 -I -i "%%X" >> ResultScript.txt
如果批处理文件名为ExecScript.bat,则用户将以
ExecScript instancename databasename
您可能希望在for循环上方添加一个测试,以确保两个参数都传入。使用空白实例和数据库运行SQLCMD不会太好。您是如何猜到我想要的确切用户输入的?幽灵般的
ExecScript instancename databasename