博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JScript实现将指定目录下的vc工程加到解决方案
阅读量:2429 次
发布时间:2019-05-10

本文共 2691 字,大约阅读时间需要 8 分钟。

作者:朱金灿

来源:

          

main();  function main() {     try     {     var WSShell = WScript.CreateObject("WScript.Shell");     var num = WScript.ScriptFullName.lastIndexOf("\\");     // 获取当前路径     var strCurPath = WScript.ScriptFullName.substr(0,num);     var FileSys = WScript.CreateObject("Scripting.FileSystemObject");     // 判断当前文件夹是否存在     if (FileSys.FolderExists(strCurPath))     {         // 获取vs2008d的dte对象         var DTE = new ActiveXObject("VisualStudio.DTE.9.0");         DTE.MainWindow.Visible = false;                     var strPluginFolder = strCurPath + "\\Plugin";         // 判断临时文件夹是否存在,若不存在就创建。临时文件夹用于存放创建         var strTempPath = strCurPath + "\\temp";        var strSolution = strTempPath+"\\AllPlugin.sln";        if (FileSys.FileExists(strSolution))            FileSys.DeleteFile(strSolution);         var sln = DTE.Solution;        if(!FileSys.FolderExists(strTempPath))         {            FileSys.CreateFolder(strTempPath);         }         // 创建空白的解决方案        sln.Create(strTempPath,"AllPlugin");        sln.SaveAs(strSolution);        sln.Open(strSolution);          var PluginFolder = FileSys.GetFolder(strPluginFolder);         // 获取所有子文件夹,遍历所有的子文件夹         var PlugSet =   new   Enumerator(PluginFolder.SubFolders);              for (var i = 0 ; !PlugSet.atEnd(); PlugSet.moveNext(),i++)          {              var strProjectFolder = strPluginFolder + "\\";              strProjectFolder = strProjectFolder + PlugSet.item().Name;              var ProjectFolder = FileSys.GetFolder(strProjectFolder);              // 获取所有的文件              var fenum = new Enumerator(ProjectFolder.Files);              for (var j = 0 ; !fenum.atEnd(); fenum.moveNext(),j++)              {                  var strPrjFileName = fenum.item().Name;                  var strSuff = FileSys.GetExtensionName(strPrjFileName);                  // 假如文件是vc工程文件,就加到解决方案中                  if((strSuff=="vcproj"))                  {                                     try                     {                     var strProjectFolder = strProjectFolder + "\\";                      strPrjFileName = strProjectFolder + strPrjFileName;                      sln.AddFromFile(strPrjFileName);                       sln.SaveAs(strSolution);                      WScript.Sleep(3000);                      }                     catch(e)                      {                          WScript.Echo(e.description);                       }                                       break;                  }              }          }          sln.Close();  // 关闭解决方案    }     else     {           WScript.Echo("the current path isnot exist!");      } } catch(e)     {         WScript.Echo(e.description);      } }

转载地址:http://wonmb.baihongyu.com/

你可能感兴趣的文章
程序员爬取 3 万条评论,《长安十二时辰》槽点大揭秘!
查看>>
一年参加一次就够,全新升级的 AI 开发者大会议程出炉!
查看>>
基于 XDanmuku 的 Android 性能优化实战
查看>>
基于嵌入式操作系统的物联网安全
查看>>
一个只有 99 行代码的 JS 流程框架
查看>>
移动周刊第 186 期:移动 App 客户端性能优化、iOS 开源库源码解析
查看>>
包学会之浅入浅出 Vue.js:开学篇
查看>>
JavaScriptCore 全面解析 (上篇)
查看>>
移动周刊第 187 期:App 模块化实战经验总结
查看>>
以不一样的视角看物联网协议
查看>>
JavaScriptCore全面解析 (下篇)
查看>>
嵌入式操作系统与物联网演进之路
查看>>
苹果公司揭秘首批列入 Swift 源代码兼容性开源项目清单
查看>>
Python 玩转物联网之 Micropython GPIO IRQ 处理
查看>>
移动周刊第 188 期:Android 安全性要点与规范核心详析
查看>>
手机为基础的 IoT 布局已经失效,下一代操作系统是什么模样?
查看>>
无线传感器网络使用指南
查看>>
Unity 脚本优化的那些坑
查看>>
《近匠》专访机智云 CTO 刘琰——从 0 到 1 开启智能化硬件开发
查看>>
深度对话微软,解读 HoloLens 技术设计细节
查看>>