zoukankan      html  css  js  c++  java
  • 关于JS调用外部可执行程序中路径空格问题


    从网上搜到如下一个JS函数,可以通过网页执行本地可执行程序:
    ------------------------------------------------------------------

    <script language="javascript">
    function exec(command)
    {    
        window.oldOnError 
    = window.onerror;
        window._command 
    = command;
        window.onerror 
    = function (err) {
                                            
    if (err.indexOf('utomation'!= -1
                                            {
                                                alert(
    '命令' + window._command + ' 已经被用户禁止!'); 
                                                
    return true;
                                            }
                                            
    else 
                                                
    return false;
                                        };
        
    //-----------
        var wsh = new ActiveXObject('WScript.Shell');
        
    if (wsh)  wsh.Run(command);
        wsh 
    = null;
        window.onerror 
    = window.oldOnError;
    }
    </script>

    <input type="button" value="执行" onclick="exec('cmd.exe')" />

    -----------------------------------------------------------------
    将以上代码存为.htm文件,点击“执行”将打开cmd命令行程序,除了系统注册的程序(如'notepad.exe')外,
    可以给command参数赋以完整的应用程序路径(如'C:\\MyDir\\app.exe'),然后在网页中“执行”。

    笔者因为一个项目中使用这个东东,发现一个问题,即:路径中如有空格则不能正常执行,如常见的程序路径是:

    'C:\\Program Files\\MyDir\\app.exe'

    因为[Program Files]中有空格所以不能执行。后发现改为如下形式即可:

    'C:\\Progra~1\\MyDir\\app.exe'

    ----记之以备忘。

    注:JS字符串中\为转义字符,故\\表示一个字符\

     

  • 相关阅读:
    CentOS查看CPU信息、位数、多核信息
    Linux常用命令大全
    chmod命令详细用法
    tar命令的详细解释
    yum和rpm命令详解
    LeetCode 241. Different Ways to Add Parentheses
    LeetCode 139. Word Break
    LeetCode 201. Bitwise AND of Numbers Range
    LeetCode 486. Predict the Winner
    LeetCode 17. Letter Combinations of a Phone Number
  • 原文地址:https://www.cnblogs.com/SummerRain/p/1185905.html
Copyright © 2011-2022 走看看