我有一个带有以下代码行的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""
我怎样才能让它发挥作用?
答案 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)