我正在寻找帮助,为什么我的简单HTA应用程序在文件路径中的文件夹名称中有空格时无法工作。
我的HTA有一个简单的按钮,用于在子文件夹中启动文本文件。
HTA有一个脚本,可以找到HTA文件的根文件夹。
如果我的HTA文件的位置是按钮下方的路径:
c:\Users\%MyUser%\Desktop\htatest2
如果文件夹名称更改为" hta test2"按钮不起作用。
c:\Users\%MyUser%\Desktop\hta test2
这是我的代码。
<html>
<head>
<title>Application Executer</title>
<HTA:APPLICATION ID="oMyApp"
APPLICATIONNAME="Application Executer"
BORDER="no"
CAPTION="no"
SHOWINTASKBAR="yes"
SINGLEINSTANCE="yes"
SYSMENU="yes"
SCROLL="no"
WINDOWSTATE="normal">
<script type="text/javascript" language="javascript">
var shell = new ActiveXObject("WScript.Shell");
var rootdir = shell.currentDirectory;
function RunFile() {
WshShell = new ActiveXObject("WScript.Shell");
WshShell.Run(rootdir+"/txt/text.txt", 1, false);
}
</script>
</head>
<body>
<input type="button" value="Run Notepad" onclick="RunFile();" class="button" />
</body>
</html>
&#13;
答案 0 :(得分:3)
Run
在写入命令行时执行其第一个参数。您必须在参数中包含双引号。使用单引号进行连接以防止引号冲突,如下所示:
WshShell.Run('"' + rootdir + '/txt/text.txt' + '"', 1, false);