如果文件夹名称包含 space,HTA 脚本将不起作用
HTA script won't work if folder name contains a space
如果文件路径中的文件夹名称中包含 space,我正在寻求一些帮助,以了解为什么我的简单 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>
Run
执行写入命令行的第一个参数。您必须在参数中包含双引号。使用单引号连接以防止引号冲突,如下所示:
WshShell.Run('"' + rootdir + '/txt/text.txt' + '"', 1, false);
如果文件路径中的文件夹名称中包含 space,我正在寻求一些帮助,以了解为什么我的简单 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>
Run
执行写入命令行的第一个参数。您必须在参数中包含双引号。使用单引号连接以防止引号冲突,如下所示:
WshShell.Run('"' + rootdir + '/txt/text.txt' + '"', 1, false);