![](/img/trans.png)
[英]How can I run this VBS script from a shared network drive, from command line on multiple computers?
[英]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.