我在公司门户网站(完全安全)中有一个网站,可以启动与某个业务组绑定的多个应用程序。我遇到的问题是我需要启动的文件路径之一在路径中有一个²。该软件安装在全球3000多台计算机上,因此改变路径inst非常实用。以下是我正在使用的代码片段:
<a href="javascript:LaunchApp1()">MC2 / ICE</a>
<script>
function LaunchApp1() {
if (navigator.userAgent.indexOf("WOW64") != -1 ||
navigator.userAgent.indexOf("Win64") != -1 ){
var ws = new ActiveXObject("WScript.Shell");
ws.Exec('"C:\\Program Files (x86)\\MC² Software\\ice.exe"');
}
else {
var ws = new ActiveXObject("WScript.Shell");
ws.Exec("C:\\Program Files\\MC² Software\\ice.exe");
}
}
</script>
关于如何绕过平方角色的任何想法?在各地广泛搜索。
谢谢!
答案 0 :(得分:0)
如何使用short filename呢?您应该能够将整个路径转换为与MS-DOS兼容的路径,该路径不应包含讨厌的上标2,而是使用它。另一个问题为how to convert a full path to a short path的stackoverflow问题,最简单的答案似乎是在相关目录的cmd
终端中运行它:
for /d %I in (*) do @echo %~sI
The Microsoft support site also covers this topic.
将有问题的目录名称转换为简短格式应产生以下路径:
C:\Program Files\MCSOFT~1\ice.exe
或
C:\Program Files (x86)\MCSOFT~1\ice.exe
答案 1 :(得分:0)
http://www.fileformat.info/info/unicode/char/b2/index.htm
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Values,_variables,_and_literals
看起来你可以使用unicode替换你的平方值,所以它看起来像你的路径:
ws.Exec('"C:\\Program Files (x86)\\MC\u00B2 Software\\ice.exe"');