SET server=MyServer
SET db=MyDb
FOR /F "usebackq tokens=1" %%i IN (`sqlcmd -S %server% -d %db% -w200 -h-1 -E -Q "set nocount on; select REPORTING_DATE FROM dbo.CURRENT_REPORTING_DATE"`) DO set REPORTING_DATE=%%i
ECHO The Reporting Date is %REPORTING_DATE%
但是當我嘗試完全有資格SQLCMD路徑...
SET sqlcmdexe="C:\Program Files\Microsoft SQL Server\100\Tools\Binn\sqlcmd.exe" SET server=MyServer SET db=MyDb
FOR /F "usebackq tokens=1" %%i IN (` %sqlcmdexe% -S %server% -d %db%
-w200 -h-1 -E -Q "set nocount on; select REPORTING_DATE FROM dbo.CURRENT_REPORTING_DATE"`) DO set REPORTING_DATE=%%i ECHO The Reporting Date is %REPORTING_DATE%
我得到的錯誤:
該系統找不到指定的路徑。
...大概是因爲文件夾名稱中的空格。
如何將路徑更改爲代字號路徑(無空格)或更好,請引用它以便該語句正確執行?
注意,有之前%sqlcmdexe%向後抽動,不知道爲什麼我沒有看到它,至少在IE6。是的,6!
你可以使用'呼叫%sqlcmdexe %' – jeb
[批處理文件:對於如果路徑中有空格/ F不起作用]的可能重複(http://stackoverflow.com/questions/6474738/batch-file-for-f-doesnt-work-if-path都具有一個-空格) –
是您的通話招有啓發了我研究的基本問題 – jeb