[英]Escaping @ in Windows environment variable
我在bat文件中有以下幾行:
SET LIB="C:\tools\oracle\main\ojdbc8.jar"
SET DRIVER="Java::oracle.jdbc.driver.OracleDriver"
SET CONN="jdbc:oracle:thin:@//localhost:1521/XE"
logstash -f logstash.conf
前兩個SET可以正常工作,但是logstash程序抱怨CONN變量不是有效的URI。 我試圖在@
前面加上一個^
來轉義它,但問題仍然存在。 如何解決?
當前,您將雙引號作為變量值字符串的一部分。 我建議在set
變量時改用以下語法:
Set "VarName=StringValue"
然后,如果/根據需要在使用它的任何后續命令中將%VarName%
雙引號 。
在您提供的示例中,建議您使用:
Set "LIB=C:\tools\oracle\main\ojdbc8.jar"
Set "DRIVER=Java::oracle.jdbc.driver.OracleDriver"
Set "CONN=jdbc:oracle:thin:@//localhost:1521/XE"
並在腳本中就是否使用做出獨立決定:
%LIB%
, %DRIVER%
或%CONN%
"%LIB%"
, "%DRIVER%"
或"%CONN%"
!LIB!
, !DRIVER!
或!CONN!
- (延遲擴展) "!LIB!"
, "!DRIVER!"
或"!CONN!"
- (延遲擴展)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.