Squared²Jscript启动的文件路径中的字符

时间:2013-07-25 16:36:52

标签: javascript jscript

我在公司门户网站(完全安全)中有一个网站,可以启动与某个业务组绑定的多个应用程序。我遇到的问题是我需要启动的文件路径之一在路径中有一个²。该软件安装在全球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>

关于如何绕过平方角色的任何想法?在各地广泛搜索。

谢谢!

2 个答案:

答案 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"');