点击按钮,激发javascript,如何实现在javascript中通过java调用cmd命令,用 jsp吗,最好有代码,谢谢!

解决方案 »

  1.   

    调用WScript.Shell,但是你的页面应该没权限
      

  2.   


    <script>  
        
      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);  
              window.onerror  =  window.oldOnError;  
          }  
      </script>  
        
      <input  type=button  onclick="exec(cmd)"  value=执行>
      

  3.   

    下面这段代码是我之前做的一个js调用cmd命令查询公网IP的代码,应该对你有用。(输入域里面输入你想查询公网的网址,不要htt://),要过一会IP地址才会弹出来
    <html>
    <head>
    <title>查询公网IP</title>
    </head>
    <body>
    <input id="address" type="text"><br>
    <input type="button" value="查询" onclick="queryIP()">
    </body>
    </html>
    <script language="javascript">
    function queryIP()
    {  
    var address = document.getElementById("address").value;
    alert(address);
    //查询出来的IP信息将会保存在c盘根目录下ip.txt这个文件中
        var runstr = "cmd /c Ping "+address+">c:/ip.txt";
        alert(runstr);
        //下面这行代码只会在浏览器的安全级别为低的情况下运行
        var wsh = new ActiveXObject('WScript.Shell');
        var index = "";
        var end = "";
        if (wsh){
          //参数代表0是后台运行,true是同步。默认是false,是异步
          flag = wsh.Run(runstr, 0, true);
          var fso='-',temp='==';
          var ForReading = 1; 
          fso = new ActiveXObject("Scripting.FileSystemObject"); 
          ts = fso.OpenTextFile("c:/ip.txt", ForReading);
          //读取ip.txt文件并以字符串形式返回
          temp = ts.ReadAll();
          //截取字符串
          index = temp.indexOf("[");
          //截取字符串
          end = temp.indexOf("]");
          //将查询出来的IP地址截取并弹出
          alert(temp.substring(index+1,end));                          
         }         

    </script>
      

  4.   

    没看见你说的不用activexobject,之前我做的时候也不想用这种方法,因为他有安全性上的问题,而且交互性不好。其他方法好像也有,是调用一些其他语言写的脚本文件,不过没验证过。
      

  5.   


    不用AX的话就放弃吧。。javascript没权限的