vbscript - 如何将以 “//”开头的参数传递给wsh脚本?

标签 vbscript jscript wsh

如果我有以下脚本(该脚本仅将第一个参数输出到控制台):

@if (@X)==(@Y) @end /* JScript comment
    @echo off
    cscript //E:JScript //nologo "%~f0" %*
    exit /b %errorlevel%
@if (@X)==(@Y) @end JScript comment */

WScript.Echo(WScript.Arguments.Item(0));

我尝试像
C:\>test.bat "//test"

我收到以下错误

Input Error: Unknown option "//test" specified.



尽管有引号,但它是Windows脚本主机的一个选项。
如何传递以//开头的参数。命名论点?

最佳答案

cscript //E:JScript //nologo "%~f0" // %*

传递双斜杠以结束cscript自己的参数解析。

注意:我不知道它是否在任何地方都有记录,但是在Windows 7和10上进行了测试

测试脚本:

Option Explicit

Dim argument

    For Each argument In WScript.Arguments
        WScript.Echo "argument: " & argument
    Next 

    For Each argument In WScript.Arguments.Named
        WScript.Echo "Named: " & argument
    Next 

    For Each argument In WScript.Arguments.UnNamed
        WScript.Echo "UnNamed: " & argument
    Next 

输出(抱歉,西类牙语语言环境):
W:\>cscript //nologo test.vbs //test
Error de entrada: Opción desconocida "//test" especificada.

W:\>cscript //nologo test.vbs // //test /one two
argument: //test
argument: /one
argument: two
Named: /test
Named: one
UnNamed: two

W:\>cscript test.vbs // //nologo //test /one two
Microsoft (R) Windows Script Host versión 5.812
Copyright (C) Microsoft Corporation. Reservados todos los derechos.

argument: //nologo
argument: //test
argument: /one
argument: two
Named: /nologo
Named: /test
Named: one
UnNamed: two

W:\>

关于vbscript - 如何将以 “//”开头的参数传递给wsh脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42090138/

相关文章:

windows - CreateObject 和 Wscript.CreateObject 有什么区别?

asp-classic - vbscript 使用 Ccur 舍入到小数点后两位

excel:如何将 .bas 文件转换为 vbscript/exe 或从命令行运行?

html - 如何在保持输入值内的文本不变的情况下删除 html 元素?

vbscript - 如何检查文件是否存在?

logging - VBScript 是否有等效的 log4j?

sql-server - ADODB 连接无法连接到 sql server Express

javascript - 检测浏览器是否支持 vbscript?

windows - JScript 是否支持字符串修剪方法?

javascript - 使用 jsdoc 记录 javascript 构造函数的返回