繁体   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