经过多年研究,在这个病毒四溢的年代,cad也出现了病毒,再被它们折磨到崩溃的时候(死机,存图显示输入路径,各种键盘失灵,诡异退出,党不会亏待你等等烂七八糟的病毒),我咬牙写下了这段代码。
希望给辛苦加班的cad同志们以帮助。减轻你们的痛苦(重装,格机,丢图)
此段代码源自官方对acad.vlx病毒的解释,及处理方法。我稍加改动将常见的病毒都列入查杀范围"acad.vlx""acaddoc.lsp" "acaddoc.fas" "acad.fas" "acad.lsp" 。
功能:
1、打开文件时自动删除文件夹下的所有病毒。
2、CAD启动时命令行提示“错误: 参数类型错误: stringp nil"永远消失。(只显示加载项及是由哪个版本的cad,创建的有效的文件等等)
注意事项
经过一年多的实践,我的机器已有效的控制了病毒的蔓延。在联机的局域网内使用须将每台机器都做处理,不然会有只读文件影响删除造成假死状态,光盘如有毒请将DWG文件拷出再打开。适用版本cad2006~2011.7 感谢POWERMEDIA对我的技术支持。感谢所有在绘图行业辛苦工作,战斗的同志们。感谢论坛。
进入正题(建议:最好是在刚装好cad保证正常运行时作如下操作。)
在您的产品安装目录中,找到Support 文件夹(例如,C:Program FilesAutoCAD 2010Support)。
在Support文件夹内,双击acad20xx.lsp文件(例如,acad2010.lsp文件)。 在文件中加入下面的代码。 AutoCAD将发现并删除所有病毒。
拷贝以下内容到此文件acad2010.lsp的末尾:
(defun cleanvirus( / lspfiles lspfile x)
  (setq lspfiles '("acad.vlx" "logo.gif" "acaddoc.lsp" "acaddoc.fas" "acad.fas" "acad.lsp"))
  (foreach lspfile lspfiles
    (while (setq x (findfile lspfile))
      (progn
        (vl-file-delete x)
        (princ "nDeleted file ")
        (princ x)
      );progn
    );while
  );foreach
)
(cleanvirus)

打开下面的所有文件:
C:Program FilesAutoCAD 20xxExpressacetauto.lsp
C:Program FilesAutoCAD 20xxSupportai_utils.lsp
查找到以下代码,请删除:
(vl-file-copy(findfile(vl-list->string'(108 111 103 111 46 103 105 102)))(vl-list->string'(97 99 97 100 46 118 108 120)))
保存所有文件。
cad选项设置结束后,将这两个文件夹设为只读,一劳永逸。(方法:在文件夹上单击右键,属性————常规————勾选只读。)
X:Program FilesAutoCAD 2010Support
C:Documents and Settings(用户名)Application DataAutodeskAutoCAD 20XX(此文件夹为隐藏文件夹。可将路径修改好用户名及版本,考贝到开始--运行,进行查找。)
作者:WZF(2010.08.11)