zoukankan      html  css  js  c++  java
  • HTML js实现修改本地文件内容(windows)

    工作过程中, 不时的需要修改配置文件的内容,比如 设置访问服务器地址.因此需要逐层打开目录,来进行修改. 如果修改频繁,则会比较麻烦,因此需要一个脚本来进行修改.

    但是,

    var fso =new ActiveXObject("Scripting.FileSystemObject");
    只限于IE浏览器, 所以以下代码只适用于IE浏览器

    参考目录: 

    <html>
    <head>
        
        <title>修改ip</title>
        
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script language="JavaScript" type="text/javascript">
    
            // 需要修改的文件      var baseReal = "E:\win32\src\common\GameConfig.lua";
            // 定义一个临时文件
    var baseTemp = "E:\win32\src\common\GameConfig2.lua";
            // 设置被替换的内容
    var beanChange1 = "GameConfig.strHallIp = ip1"; var beanChange2 = "GameConfig.strHallIp = ip2"; var beanChange3 = "GameConfig.strHallIp = ip3"; var beanChange4 = "GameConfig.strHallIp = ip4"; var beanChange5 = "GameConfig.strHallIp = ip5";    function setServerIp(num){     var ForReading = 1, ForWriting = 2;      var fso =new ActiveXObject("Scripting.FileSystemObject");             // 创建一个临时文件       var fTemp = fso.CreateTextFile(baseTemp, true);
                // 以写入的方式进行文件打开       
    var f233 = fso.OpenTextFile(baseReal, ForReading, true);       var content1;        while(!f233.AtEndOfStream){        content1=f233.ReadLine();        fTemp.WriteLine(content1);        }        f233.Close();        fTemp.Close();        var fdelete3 = fso.GetFile(baseReal);        // 删除文件        fdelete3.Delete();           var fnew = fso.CreateTextFile(baseReal, false);        fTemp = fso.OpenTextFile(baseTemp, ForReading, false);          var content1;          var hasChange = false;          while(!fTemp.AtEndOfStream){          content1 = fTemp.ReadLine();          if(!hasChange && (content1 == beanChange1 ||content1 == beanChange2              ||content1 == beanChange3              ||content1 == beanChange4              ||content1 == beanChange5          )){            fnew.WriteLine(getContent(num));            hasChange = true;          }else{            fnew.WriteLine(content1);          }         }         fnew.Close(); fTemp.Close(); var fdelete2 = fso.GetFile(baseTemp); fdelete2.Delete(); } function getContent(num){ switch(num){ case 1: return beanChange1; case 2: return beanChange2; case 3: return beanChange3; case 4: return beanChange4; case 5: return beanChange5; } } </script> </head> <body>   <div style="display: ;" id= "div1" >     <input id="button1" type="button" onclick="setServerIp(1)" value="IP1">   </div>   <br/>   <div style="display: ;" id= "div2" >     <input id="button1" type="button" onclick="setServerIp(2)" value="IP2">   </div>   <br/>   <div style="display: ;" id= "div3" >     <input id="button1" type="button" onclick="setServerIp(3)" value="IP3">   </div>   <br/>   <div style="display: ;" id= "div4" >     <input id="button1" type="button" onclick="setServerIp(4)" value="IP4">   </div>   <br/>   <div style="display: ;" id= "div5" >     <input id="button1" type="button" onclick="setServerIp(5)" value="IP5">   </div> </body> </html>
  • 相关阅读:
    Vue中使用axios时post传参之请求体带参
    MyBatisPlus常用功能之简介
    常用命令一二三之练习题
    常用命令之三
    常用命令之二
    常用命令之一
    阿里云之轻量文件分布式服务器-fastDFS
    js三座大山之三:异步和单线程
    js三座大山之二:作用域和闭包
    run build时内存溢出打包失败的解决办法
  • 原文地址:https://www.cnblogs.com/xiaozhuan/p/6396584.html
Copyright © 2011-2022 走看看