В литералах javascript обратная косая черта указывает на начало escape-последовательности.Если вы действительно хотите представить обратную косую черту, вы можете избежать ее с двойной обратной косой чертой.
т.е. ' C: \\ Windows \\ System32 \\ cmd.exe / c start winword.exe '
http://www.javascriptkit.com/jsref/escapesequence.shtml
РЕДАКТИРОВАТЬ: Из комментариев на правильный ответ из поста, который вы связали, похоже, что он получил это работает:
толькопередать путь к runexe: javascript: RunExe ('C: \ Windows \ System32 \ cmd.exe')
установить параметры, равные аргументам команды: var parameters =["/ c start winword.exe"];
Так что теоретически это будет работать:
<html>
<head>
<script>
function RunExe(path) {
try {
var ua = navigator.userAgent.toLowerCase();
if (ua.indexOf("msie") != -1) {
MyObject = new ActiveXObject("WScript.Shell")
MyObject.Run(path);
} else {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var exe = window.Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
exe.initWithPath(path);
var run = window.Components.classes['@mozilla.org/process/util;1'].createInstance(Components.interfaces.nsIProcess);
run.init(exe);
var parameters = ["/c start winword.exe"];
run.run(false, parameters, parameters.length);
}
} catch (ex) {
alert(ex.toString());
}
}
</script>
</head>
<body>
<a href="#" onclick="javascript:RunExe('C:\\Windows\\System32\\cmd.exe');">Open Word</a>
</body>
Хотя ясно, что лучше передать параметры в качестве аргумента, чемжестко закодируйте их, как я сделал здесь (или передайте их как часть пути и проанализируйте их)