文件路径中的VBS脚本空间

时间:2015-05-19 05:52:57

标签: vbscript whitespace filepath

我有一个带有以下代码行的vbscript文件:

addToArray arrScenarios, "Scenarios\BFTB Scenarios\Tutorial.cos"

当我运行它时,它找不到Tutorial.cos文件。
但是,如果我通过消除空间来改变“BFTB Scenarios”目录名,那么它运行正常:

addToArray arrScenarios, "Scenarios\BFTBScenarios\Tutorial.cos"

我已经阅读了关于这个主题的类似问题,并试图通过在整个路径上加上双引号来复制他们的建议,但无济于事:

addToArray arrScenarios, ""Scenarios\BFTB Scenarios\Tutorial.cos""

我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:-1)

什么不起作用?

option explicit

Dim   arrScenarios()
Redim arrScenarios(-1)

addToArray arrScenarios, "simple_string_without_spaces"
addToArray arrScenarios, "any string containing spaces"
addToArray arrScenarios, """any string in double quotes"""
addToArray arrScenarios, chr(34) & "yna string in double quotes" & chr(34)

    Sub AddToArray( vArray, Item)
        Redim Preserve vArray(UBound(vArray)+1)
                       vArray(UBound(vArray))=Item
    End Sub

Dim ii
For ii = 0 To UBound(arrScenarios)
    Wscript.Echo "arrScenarios(" & CStr( ii) & ") = " & arrScenarios( ii)
Next

<强>输出

==>cscript \VB_scripts\SO\30317733.vbs
arrScenarios(0) = simple_string_without_spaces
arrScenarios(1) = any string containing spaces
arrScenarios(2) = "any string in double quotes"
arrScenarios(3) = "yna string in double quotes"

原始回答

我只能猜测在addToArray子程序中处理第二个参数的方式,但是尝试将所有内部双引号加倍,如下所示:

addToArray arrScenarios, """Scenarios\BFTB Scenarios\Tutorial.cos"""

或以这种方式添加前导和尾随:

addToArray arrScenarios, chr(34) & "Scenarios\BFTB Scenarios\Tutorial.cos" & chr(34)