在VBS中,如果RUN的路径里有空格,一般情况下都要将路径进行转换,转换成VBS认识的格式,如:路径C:/Program Files/1.bat一般要写成:C:/Progra~1/1.bat,这本来也没有什么,只是我对这种转换德规则不是很熟悉,在转换中经常出现错误。
幸好在 优游天下 中发现了这么一段代码可以解决这个矛盾。现将代码抄录如下:Dim WshSet Wsh = WScript.CreateObject("WScript.Shell")WScript.Sleep(60000)Wsh.Run chr(34) & "C:/Program Files/1.bat" & chr(34),,TrueSet 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=strEnd Sub
</script><body bgcolor="0099ff" /设置背景颜色> <input type="button" name="liulan" value="浏览" οnclick="liulan"><span id="tupian">图片展示处</span></body>
问题解决的很完美,解决的方法很简单,不过就是不太明白原理,为什么在路径前后添加chr(34) 字符,就可以正确读取路径?不知那位大侠能指教一下。