如何使用批处理文件将批处理文件命令附加到字符串(文件名)

时间:2013-05-04 18:38:59

标签: batch-file

我正在创建一个批处理文件,以将文件夹中所有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 

让我知道如何解决这个问题

1 个答案:

答案 0 :(得分:0)

set myvar=sqlcmd -S %%MSSQLSERVER_NAME%% -d %%MSSQLSERVER_DBNAME%% -i

可以解决您的问题 - %逃避%

请注意,变量名称中的空格很重要,因此set var = something会将var[space]设置为[space]something

set %varname%=...很少见 - 设置变量名(varname的内容)。

更不平衡的是% ...不确定它会起作用......