簡體   English   中英

如何在命令行 to.vbs 腳本上轉義雙引號?

[英]How can I escape double quotes on command line to .vbs script?

我有一個腳本。 我想將其中包含雙引號的行發送到該腳本,如下所示: Cscript myScript.vbs "Testing "this line""

但是該行內的雙引號使該行永遠無法正確到達腳本。 我試過 escaping 與克拉 (^) 或使用雙雙引號 ("Testing ""this line""") 得到不同的結果,但沒有一個是我想要的結果(腳本正在測試“this line”)。

為了證明我為什么需要這樣做,我試圖將 SQL 行發送到將編輯我的 Orca 表的腳本,並且需要在其中一個值中使用雙引號來執行我想要對 Orca 執行的操作。

你可以試試這個:

這是 vb 腳本 x.vbs:

Wscript.Echo Unescape(Wscript.Arguments.Item(0))

這是用於運行它的 output:

D:\>cscript x.vbs "Testing %22this line%22"
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.

Testing "this line"

如果您將所有 " 替換為 %22 ,您將能夠使用此方法傳遞雙引號。

這是無法做到的。 我已經嘗試了所有方法,唯一的方法是在你的 VBS 中指定一些字符串來表示“,並將指定字符串的命令行 arguments 實例替換為”。 我選擇了一些不太可能成為問題的東西::。 是我用來表示“。

在我的代碼中,我添加了以下內容:

strArgu0 = Wscript.Arguments(0)
strOldSTR = Replace(strArgu0,":!:","""")

我見過的例子在引號前使用反斜杠來轉義它。 一個常見的例子是將日志記錄選項傳遞給安裝程序(Windows 安裝程序包)

Setup.exe /v"/l*v \"c:\My Log Files\test.log\" /qn"

暫無
暫無

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

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