我正在创建一个批处理文件,以将文件夹中所有SQL脚本的名称列为文本文件。我计划将此文本文件转换为批处理文件,以便我可以使用它来执行服务器中的脚本。所以我想在创建初始文本文件
时在每个文件名之前附加以下字符串sqlcmd -S %MSSQLSERVER_NAME% -d %MSSQLSERVER_DBNAME% -i
这是一个批处理文件命令,我希望在每个文件名之前添加。 例如:
sqlcmd -S %MSSQLSERVER_NAME% -d %MSSQLSERVER_DBNAME% -i 001_ALTER_PERSON.sql
我正在使用的代码是
set MSSQLSERVER_NAME = "%MSSQLSERVER_NAME%"
set %MSSQLSERVER_DBNAME = "%MSSQLSERVER_DBNAME%"
set myvar=sqlcmd -S %MSSQLSERVER_NAME% -d %MSSQLSERVER_DBNAME% -i
for /r . %%g in (*.sql) do echo %myvar% %%~nxg >> D:\test.txt
pause
Out put我正在
sqlcmd -S -d -i 015_ALTER_vBOARD_PAPERS.sql
让我知道如何解决这个问题
答案 0 :(得分:0)
set myvar=sqlcmd -S %%MSSQLSERVER_NAME%% -d %%MSSQLSERVER_DBNAME%% -i
可以解决您的问题 - %
逃避%
请注意,变量名称中的空格很重要,因此set var = something
会将var[space]
设置为[space]something
set %varname%=...
很少见 - 设置变量名(varname的内容)。
更不平衡的是%
...不确定它会起作用......