作者:朱金灿

来源:http://blog.csdn.net/clever101

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);
}
}

最新文章

  1. 涵涵和爸爸习惯养成进度表(一)(May 5 - May 25)
  2. Python 程序员经常犯的 10 个错误
  3. matplotlib安装问题
  4. Spark中文指南(入门篇)-Spark编程模型(一)
  5. 【原创】Silverlight客户端发起WebRequest请求分析
  6. 转 Cocos网络篇[3.2](3) ——Socket连接(1)
  7. Express实现http和https服务
  8. CSS样式补充代码
  9. linux下PostgreSQL数据库的源码安装
  10. NHibernate教程
  11. DataGrid的打印预览和打印
  12. Genymotion中文手册
  13. ios 从微信返回自己的app
  14. (转)用eclipse创建一个j2ee的web工程后,左面projects窗口中的项目如何没有显示webRoot文件夹,除了src的文件夹,其他都不显示
  15. Microsoft Jet 数据库引擎找不到对象'Sheet1$_'。请确定对象是否存在,并正确地写出它的名称和路径
  16. Middleware详解
  17. Cesium剖面分析
  18. python 09 文件操作
  19. linux命令之free篇
  20. python:python之禅

热门文章

  1. [React Intl] Use a react-intl Higher Order Component to format messages
  2. 参数传递方法(用Delphi的汇编代码解释)
  3. LA 3602 - DNA Consensus String 枚举
  4. [RxJS] Multicasting shortcuts: publish() and variants
  5. [ACM] ural 1057 Amount of degrees (数位统计)
  6. 怎么不让控制台system.out.println()打印
  7. embed-it_Integrator memory compile工具使用之三
  8. linux下FAT32格式u盘只读的问题及解决方法
  9. localStorage兼容方案
  10. 清楚arp