[批次] 自動產生語法結構失敗

作者: sanbis (方正無法達成,那麼有沒H)   2019-11-14 14:53:11
手上有一些檔案
檔案的格式為
A.mdf A_log.ldf
B.mdf B_log.ldf
都放在 C:\MSSQL\DATA\ 下
想要輸出格式為
EXEC sp_attach_db @dbname = 'A'
,@filename1 = 'C:\MSSQL\DATA\A.MDF'
,@filename2 = 'C:\MSSQL\DATA\A_Log.LDF'
EXEC sp_attach_db @dbname = 'B'
,@filename1 = 'C:\MSSQL\DATA\B.MDF'
,@filename2 = 'C:\MSSQL\DATA\B_Log.LDF'
的內容
目前有參考的寫法
add.bat
FOR %%I IN (*.mdf) DO ECHO EXEC sp_attach_db @dbname = '%%~nI' >> add.sql
FOR %%I IN (*.mdf) DO ECHO ,@filename1 = '%%~dpnxI' >> add.sql
FOR %%I IN (*.ldf) DO ECHO ,@filename2 = '%%~dpnxI' >> add.sql
ECHO.
但是輸出以後格式為
EXEC sp_attach_db @dbname = 'A'
EXEC sp_attach_db @dbname = 'B'
,@filename1 = 'c:\MSSQL\DATA\A.mdf'
,@filename1 = 'c:\MSSQL\DATA\B.mdf'
,@filename2 = 'c:\MSSQL\DATA\A_log.LDF'
,@filename2 = 'c:\MSSQL\DATA\B_log.LDF'
不知道有沒有哪位可以指點一下這要怎麼修改~Orz
作者: cancelpc (阿吉)   2019-11-14 17:19:00
第2,3的loop是在第1個內部,不是分開各別跑第2,3取檔名的方式也得配合1取到的主檔找檔

Links booklink

Contact Us: admin [ a t ] ucptt.com