VBScript+SCR+NetApi+Accoreconsole 批处理dwg文件
继上次powershell运行accoreconsole(https://www.cnblogs.com/NanShengBlogs/p/10981687.html)的研究之后又觉得不是很合适,毕竟powershell还存在权限问题,不像vbs这么windows原生的的脚本好用。
脚本主要部分
Option Explicit Dim acoreFn,fso acoreFn=inputbox("输入AutoCAD的版本号","用户输入","") if int(acoreFn)>= then Set fso = CreateObject("Scripting.FileSystemObject") if fso.FileExists("C:\Program Files\Autodesk\AutoCAD " & acoreFn & "\accoreconsole.exe") then acoreFn=chr() & "C:\Program Files\Autodesk\AutoCAD " & acoreFn & "\accoreconsole.exe" &chr() call AccoreCmdExecute("myScrFile.scr",acoreFn)
else msgbox "请确认本机的autocad"& int(acoreFn) & "安装路径为:" & vbNewLine & "C:\Program Files\Autodesk\AutoCAD " & acoreFn & "",vbError+vbOKOnly end if else
msgbox "Accoreconsole.exe 程序从AutoCAD2013 开始支持!",vbError+vbOKOnly end if set fso=nothing public sub AccoreCmdExecute(scrFileName,accoreconsoleFileName) Dim objFSO,curFdName,fl,fd,WshShell,scrFile,args Set objFSO = CreateObject("Scripting.FileSystemObject") curFdName = objFSO.GetFile(WScript.ScriptFullName).ParentFolder scrFile=" /s " & chr() & curFdName & "\" & scrFileName & chr() set fd=objFSO.GetFolder(curFdName) Set WshShell=Wscript.CreateObject("Wscript.Shell") for each fl in fd.Files if LCase(objFSO.GetExtensionName(fl))="dwg" then if (objFSO.getfile(fl).Attributes and ) or CheckFileInuse(fl)=true then msgbox fl.name & "是只读文件或者被打开,无法执行脚本命!"
else
args=" /i " & chr() & curFdName& "\" & fl.name & chr() WshShell.run accoreconsoleFileName & args & scrFile,,false msgbox fl.name & "执行完成!" end if end if
next set fd=nothing
set objFSO=nothing
set WshShell=nothing end sub public function CheckFileInuse(fn) dim fso,fl Set fso = CreateObject("Scripting.FileSystemObject") Set fl = fso.GetFile(fn) ON ERROR RESUME NEXT fl.move fl.path if Err= then CheckFileInuse=true
else
CheckFileInuse=false
end if Set fso =nothing Set fl = nothing end function
执行命令的部分
检查文件名是否被打开。
VBScript+SCR+NetApi+Accoreconsole 批处理dwg文件的更多相关文章
- 高精度快速预览打开dwg文件的CAD控件CAD Image DLL介绍及下载
CAD Image DLL对于DXF格式, DWG格式(AutoCAD R12 到AutoCAD 2004/2005), PLT 以及 HPGL/HPGL2文件都有快速的显示速度和精度,开发者再也不会 ...
- 用.NET从外部dwg文件导入块
翻译并引自Kean's blog的两篇文章: http://through-the-interface.typepad.com/through_the_interface/2006/08/import ...
- SVN批处理更新文件夹
SVN批处理更新文件夹 "C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:&quo ...
- C# 实现预览dwg文件完整源代码(无需autocad环境)
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using Sys ...
- Java执行批处理.bat文件(有问题???求高手帮忙解答!!!)
Java执行批处理.bat文件(有问题???求高手帮忙解答!!!) 在项目开发中常常都会遇到需要在代码中调用批处理bat脚本,把自己在项目中遇到过的总结下 ...
- AutoCAD开发5--批量修改dwg文件
Dim files, path, filename path = ThisDrawing.Utility.GetString(True, "输入dwg文件所在路径:") 'dwg文 ...
- 无需AutoCAD,用C#生成DWG文件
是一个类库:Teigha.NET for .DWG 利用它就可以在无需安装AutoCAD软件的情况下,生成.读取DWG文件,适合那些导入导出的场合. Teigha曾用名OpenDWG .DWGdire ...
- 批量输出dwg文件中的文本
公司来了一批图纸,里面有一部分内容需要复制到excel中,几百张来图每一张都 手工复制,烦死了.编写一个CAD插件,自动导出文本,简单记录在下面. 想法是: 1.输入命令,选择所有dwg文件 2.挨个 ...
- 使用wblockCloneObjects从后台读取dwg文件复制实体到当前数据库
AcDbDatabase *pNewDb=new AcDbDatabase(Adesk::kFalse); if (pNewDb == NULL) { return; } Acad::ErrorSta ...
随机推荐
- Frequent values(poj 3368)
题意:给出n个数和Q个询问(l,r),对于每个询问求出(l,r)之间连续出现次数最多的次数. 代码: /* rmq算法 当询问到x,y时,设在x之后并且与a[x]相同的最后一个数编号为t,那么x到t之 ...
- android开发里跳过的坑——android studio 错误Error:Execution failed for task ':processDebugManifest'. > Manifest merger failed with multiple errors, see logs
使用AS在gradle里配置了多个定制版本,发现在编译版本切换时,会出现错误: Error:Execution failed for task ':processDebugManifest'.> ...
- android view自定义
转载自:http://blog.csdn.net/iispring/article/details/50708044
- codeforces 691D(数据结构)
D. Swaps in Permutation time limit per test 5 seconds memory limit per test 256 megabytes input stan ...
- SQL SERVER示例:修改自定义数据类型精度
/*--修改自定义数据类型精度的示例 自定义数据类型一旦被引用,就不能再修改和删除,如果要修改数据的精度,就非常麻烦,下面的示例演示了如何修改 假设要修改的自定义变量名为aa -- ...
- 学习swift从青铜到王者之字符串和运算符02
1 字符和字符串初步 var c :Character = "a" 2 构造字符串 let str1 = "hello" let str2 = " ...
- [大雾雾雾雾] 告别该死的 EFCore Fluent API
[EF Core Oracle 列名大小写问题] [EF Core Oracle column name case problem] [EF Core PostgreSql 列名大小写问题] [EF ...
- java STW stop the world 哈哈就是卡住了
java STW stop the world 哈哈就是卡住了 学习了:http://www.jb51.net/article/125400.htm
- cmd-net命令详解
NET ViewNET UserNET UseNET TimeNet Start Net PauseNet ContinueNET StopNet StatisticsNet Share Net Se ...
- 托管C++线程锁实现 c++11线程池
托管C++线程锁实现 最近由于工作需要,开始写托管C++,由于C++11中的mutex,和future等类,托管C++不让调用(报错),所以自己实现了托管C++的线程锁. 该类可确保当一个线程位于 ...