hta/javascript如何使用相对路径执行应用程序
我正在构建一个.hta(使用javascript),我想从中启动几个应用程序 但是当我执行我的.hta时,我会收到错误消息“找不到文件” 代码如下:hta/javascript如何使用相对路径执行应用程序,javascript,html,wsh,hta,Javascript,Html,Wsh,Hta,我正在构建一个.hta(使用javascript),我想从中启动几个应用程序 但是当我执行我的.hta时,我会收到错误消息“找不到文件” 代码如下: <script type="text/javascript" language="javascript"> function RunFile(path) { var relpath = window.location.href; var fullpath = relpath + path; WshShe
<script type="text/javascript" language="javascript">
function RunFile(path) {
var relpath = window.location.href;
var fullpath = relpath + path;
WshShell = new ActiveXObject("WScript.Shell");
WshShell.Run(fullpath, 1, false);
}
RunFile("\file.exe");
</script>
函数运行文件(路径){
var relpath=window.location.href;
var fullpath=relpath+path;
WshShell=newActiveXObject(“WScript.Shell”);
Run(完整路径,1,false);
}
运行文件(“\file.exe”);
window.location.href还包括文件名和协议。试试这个:
var relpath = window.location.pathname.replace(/\\/g,'/').split('/');
relpath.pop();// JScript: relpath.length = relpath.length - 1;
relpath = relpath.join('/') + '/';
请注意,使用/
代替\
,并且使用/
结束relpath
也很方便,因此不需要将其添加到函数参数中
编辑
我不知道你在没有文件的情况下获取位置是什么意思,可能是这样(引用自Windows Sripting Technologies(不幸的是,现在已损坏):
例如,活动进程是正在运行的HTA,因此这将给出HTA文件的本地路径(不带文件名)
currentDirectory
是WScript.Shell
的一个属性,因此您可以将其与代码中的WshShell
一起使用,还可以设置工作目录。window.location.href
也包括文件名和协议。请尝试以下操作:
var relpath = window.location.pathname.replace(/\\/g,'/').split('/');
relpath.pop();// JScript: relpath.length = relpath.length - 1;
relpath = relpath.join('/') + '/';
请注意,使用/
代替\
,并且使用/
结束relpath
也很方便,因此不需要将其添加到函数参数中
编辑
我不知道你在没有文件的情况下获取位置是什么意思,可能是这样(引用自Windows Sripting Technologies(不幸的是,现在已损坏):
例如,活动进程是正在运行的HTA,因此这将给出HTA文件的本地路径(不带文件名)
currentDirectory
是WScript.Shell
的一个属性,因此您可以将它与代码中的WshShell
一起使用,还可以设置工作目录。有没有办法在不使用文件本身的情况下获取位置?嗯……我的代码就是这样做的。或者您的意思是获取一个没有窗口的路径。位置
对象?非常感谢您的大部分代码都是有效的,但是当我在映射名中添加空格而不是u1;时,会出现相同的错误。请将整个路径字符串用双引号括起来,如下所示:var path='“+fullpath+”“;
。为了回答您最后的评论,在位置
对象中没有这样的属性。有没有办法在不使用文件本身的情况下获取位置?呃……我的代码就是这样做的。或者您的意思是在不使用窗口的情况下获取路径。位置
对象?非常感谢您的代码,但是当我在地图名称中添加空格时s而不是u,我得到了相同的错误。将整个路径字符串用双引号括起来,如下所示:var path='“'+fullpath+'”;
。要回答您的上一条评论,location
对象中没有这样的属性。