明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 99|回复: 2

利用powershell解压文件

[复制链接]
发表于 7 小时前 | 显示全部楼层 |阅读模式
本帖最后由 sandyvs 于 2025-5-23 11:14 编辑

如果是win10,win11就简单了


;[功能] 工具-解压zip文件(系统自带),(czx:uzipz fss path)
;[用法](czx:uzipz (getfiled "请选择压缩文件" "" "zip" 0) nil)
;[说明]fss = 要解压的文件完整路径//path = 解压路径,nil时与解压文件同目录//说明:只支持zip
(defun czx:uzipz (ffs path / cmd)
  (if (null path) (setq path (vl-filename-directory ffs)))
  (setq cmd (strcat
              "Expand-Archive -Path "
              "\'" ffs "\'"
              " -DestinationPath "
              "\'" path "\'"
              " -force";覆盖
              )
  )
  (czx:runps cmd nil)
)


(defun czx:RunPS (command flag / run)
  (setq shell (vlax-create-object "Shell.Application"))
  (if flag (setq run "runas") (setq run ""))
  (vlax-invoke-method
    shell
    'ShellExecute
    "powershell.exe"                  ; 程序路径
    (strcat "-Command \"" command "\"") ; 参数(需转义内部引号)
    ""                                ; 工作目录(空表示默认)
    run                           ; 动词,请求管理员权限
    0                                 ; 窗口模式(0= 隐藏 1=正常窗口)
  )
  (vlax-release-object shell)
)


大佬的帖子,http://bbs.mjtd.com/forum.php?mo ... hlight=%BD%E2%D1%B9
用dwx解压文件,需要系统注册  dynwrapx.dll和UnRAR64.dll。还提到了7z可以,试着弄了下,命令行工具7za,支持zip,7z等格式

;[功能] 工具-解压文件,(czx:uzip fss path)
;[用法](czx:uzip (getfiled "请选择压缩文件" "" "zip" 0) nil)
;[说明]fss = 要解压的文件完整路径//path = 解压路径,nil时与解压文件同目录//说明:支持zip,7z等格式
(defun czx:uzip (ffs path / 7zapath cmd)
        (setq 7zaPath (findfile "7ZA.exe")))
        (if  7zaPath
                (progn
                        (if (null path) (setq path (vl-filename-directory ffs)))
                        
                        (setq cmd (strcat
                                                                  "& \"" 7zaPath "\""
                                                                        " x "
                                                                        "\'" ffs "\'"
                                                                        " -o"
                                                                        "\'" path "\'"
                                                                        " -y";覆盖
                                                                        )
                        )
                        (czx:runps cmd nil)
                )
                (princ " \n 请将 7ZA.exe 放到CAD搜索路径!")
        )
)

WinRAR.exe也是可以的,powershell里面 "E:\桌面\WinRAR.exe" x "e:\桌面\2.zip" "e:\桌面"

至于用途,我是把插件用的的支持文件打一个压缩包,然后生成vlx,http://bbs.mjtd.com/forum.php?mo ... hlight=%B4%F2%B0%FC
需要的时候释放出来,再解压,把解压目录添加到搜索路径就行了






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复

使用道具 举报

发表于 6 小时前 | 显示全部楼层
越玩越高级了,cad还可以做啥?
回复 支持 反对

使用道具 举报

发表于 5 小时前 | 显示全部楼层
ZIP不需要上powershell,FSO就能搞定了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-23 18:00 , Processed in 0.176312 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表