◎解决RUN的路径里有空格的问题

时间:2021-08-07 07:31:59

在VBS中,如果RUN的路径里有空格,一般情况下都要将路径进行转换,转换成VBS认识的格式,如:路径C:/Program Files/1.bat一般要写成:C:/Progra~1/1.bat,这本来也没有什么,只是我对这种转换德规则不是很熟悉,在转换中经常出现错误。

幸好在 优游天下 中发现了这么一段代码可以解决这个矛盾。现将代码抄录如下:
Dim Wsh
Set Wsh = WScript.CreateObject("WScript.Shell")
WScript.Sleep(60000)
Wsh.Run chr(34) & "C:/Program Files/1.bat" & chr(34),,True
Set Wsh=NoThing
WScript.quit

解决的方法很简单,就是在代码中路径前后添加红色字体部分。联想到以前前段时间关于在hta中文件名有空格,致使图片不能正常显示的问题,找出源码,添加红色字体部分。显示正常,问题的解。

全部代码如下:

<head>
<title>图片</title>
<HTA:APPLICATION
            APPLICATIONNAME="图片"
            SCROLL="no"
            SINGLEINSTANCE="yes"
            WINDOWSTATE="normal"
            ShowInTaskBar="yes"
            MaximizeButton="no"
            MinimizeButton="no"
            SCROLL="no"
            NAVIGABLE="yes"
            BORDER="thin"
>
</head>

<script language="VBScript">

         window.resizeTo 330,400
         ileft=(window.screen.width-330)/2
         itop=(window.screen.height-400)/24
         window.moveTo ileft,itop

Sub liulan
             Set objDialog = CreateObject("UserAccounts.CommonDialog")
                 objDialog.Filter = "JPG File|*.jpg|"
                 objDialog.ShowOpen
                path = objDialog.FileName
                 str="<img src=" & chr(34) & path & chr(34) &" border='1' width='300' height='300'>"
                 tupian.innerHTML=str
End Sub


</script>
<body bgcolor="0099ff" /设置背景颜色>
<input type="button" name="liulan" value="浏览" onclick="liulan">
<span id="tupian">图片展示处</span>
</body>

问题解决的很完美,解决的方法很简单,不过就是不太明白原理,为什么在路径前后添加chr(34) 字符,就可以正确读取路径?不知那位大侠能指教一下。