我想通過以下查詢到sqlplus
命令。如何在批處理文件中回顯特殊字符?
select 'Version ID: ' || a1.BACKUP_VERSION || CHR(13) || CHR(10)||'Status: ' || a1.STORAGE_STATUS || CHR(13) || CHR(10)|| 'Distribution ID: ' || a1.DISTRIBUTION_ID FROM epc1_distrib_version a1;
當我使用插入符號^
簽署它運作良好,這個呼應在屏幕上。
echo select 'Version ID: ' ^|^| a1.BACKUP_VERSION ^|^| CHR(13) ^|^| CHR(10)^|^|'Status: ' ^|^| a1.STORAGE_STATUS ^|^| CHR(13) ^|^| CHR(10)^|^| 'Distribution ID: ' ^|^| a1.DISTRIBUTION_ID FROM epc1_distrib_version a1;
它顯示正確的查詢字符串。但是當我在批處理文件中使用它時,它不起作用。這是代碼我試圖運行:
@ECHO OFF
echo Connecting to Database...
echo +++++++++++++++++++++++++
(
echo user/[email protected]
echo select 'Version ID: ' ^|^| a1.BACKUP_VERSION ^|^| CHR(13) ^|^| CHR(10)^|^|'Status: ' ^|^| a1.STORAGE_STATUS ^|^| CHR(13) ^|^| CHR(10)^|^| 'Distribution ID: ' ^|^| a1.DISTRIBUTION_ID FROM epc1_distrib_version a1;
)| sqlplus -s
echo +++++++++++++++++++++++++
那隻能說明這一點:
Connecting to Database... +++++++++++++++++++++++++ user/[email protected] select 'Version ID: ' || a1.BACKUP_VERSION || CHR(13 +++++++++++++++++++++++++
它不通過查詢sqlplus
命令,如何做到這一點?
不工作。不顯示結果 – user2400582
它的工作原理,但只有沒有管道'|',我忘了,抱歉;看我的編輯... – aschipfl
我剛剛添加了一個替代方法,使用'set/P'和'「」';這樣可以避免(雙)轉義的需要... – aschipfl