我有一个vbscript文件,其中包含以下代码行:
addToArray arrScenarios, "ScenariosBFTB ScenariosTutorial.cos"
当我运行它时,它找不到Tutorial.cos
文件。
但是,如果我通过消除空间来更改' BFTB Scenarios
'目录名,它会运行良好:
addToArray arrScenarios, "ScenariosBFTBScenariosTutorial.cos"
我读过关于这个主题的类似问题,并试图复制他们的建议,在整个路径周围加上双引号,但无济于事:
addToArray arrScenarios, ""ScenariosBFTB ScenariosTutorial.cos""
我怎样才能使它工作?
什么不行?
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_scriptsSO30317733.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, """ScenariosBFTB ScenariosTutorial.cos"""
或以这种方式添加前导和尾随字符:
addToArray arrScenarios, chr(34) & "ScenariosBFTB ScenariosTutorial.cos" & chr(34)