簡體   English   中英

在Windows環境變量中轉義@

[英]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"

並在腳本中就是否使用做出獨立決定:

  1. %LIB%%DRIVER%%CONN%
  2. "%LIB%""%DRIVER%""%CONN%"
  3. !LIB! !DRIVER! !CONN! - (延遲擴展)
  4. "!LIB!" "!DRIVER!" "!CONN!" - (延遲擴展)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM