prodromosm 发表于 2022-7-5 21:14:51

我将代码更新为
 

(defun c:fetemp (/ admin f)
(setq admin (cond ((getreal"\n Give user name (example George) : "))(George)))
   (if (setq f (getfiled "" "C:/Users/admin/AppData/Local/Temp" "sv$ bak dwg" 16))
       (startapp "explorer" f)
   )
   (princ)
)

 
但我有这个问题
 
1) 我无法更改路径中的用户名
2) 如何编写此“sv$bak dwg”
 
谢谢

hanhphuc 发表于 2022-7-5 21:15:32

 
1.getstring和strcat
2.sami冒号
 

(defun c:fetemp        (/ admin f)
(if (eq (setq admin (getstring t "\n Give user name (example George) : ")) "")
   "George"
   ) ;_ end of if
(if (setq f (getfiled "" (strcat "C:\\Users\\" admin "\\AppData\\Local\\Temp") "sv$;bak;dwg" 16))
(startapp "explorer" f)
   ) ;_ end of if
(princ)
) ;_ end of defun

;what to do next?
: you can't directly open sv$ & .bak !

 
我更喜欢这个作为默认温度

(getfiled ""
   (getvar "tempprefix")
    "sv$;bak;dwg" 16)

prodromosm 发表于 2022-7-5 21:20:44

 
我知道,我唯一想做的是打开我的文件夹,然后我将文件重命名为dwg打开
 
谢谢

hanhphuc 发表于 2022-7-5 21:21:46

你可以试试
vl文件重命名(post#6中的示例)

vl文件名mktemp
避免名称冲突
 
祝你好运:)

prodromosm 发表于 2022-7-5 21:26:10

你能告诉我怎么做吗?
 
谢谢

prodromosm 发表于 2022-7-5 21:28:07

我很乐意使用
 
但是我不知道怎么做!!
 
(defun c:fetemp       
((getvar "tempprefix") "sv$;bak;dwg" 16)
(startapp "explorer" f)
)
(princ)

hanhphuc 发表于 2022-7-5 21:33:12

 


http://www.cadtutor.net/forum/showthread.php?89186-Movebak&p=610918&viewfull=1#post610918
(defun C:bak (/ fn path dwg) ;v1.1
(if (setq fn (getfiled "Select file" (getvar "tempprefix") "sv$;bak;dwg" 2))
   (setq path (strcat (vl-filename-directory fn) "\\")
dwg(vl-filename-mktemp "george_" path ".dwg") ; <--- example george
fn   (if (/= (strcase (vl-filename-extension fn)) ".DWG")
       (vl-file-copy fn dwg t)
       dwg
       ) ;_ end of if
) ;_ end of setq
   (princ "Failed! *cancel*")
   ) ;if
(terpri)
(if path
   (command "shell" (strcat "explorer \"" path))
   ) ; optional: open the destination folder
(princ)
) ;bak

 
 
 
2) 我真的不理解评论,例程只是创建新的dwg名称(不重命名),所以我认为没有冲突。您可以安全地保留或删除它
 
 
 
更换此
dwg(vl-filename-mktemp "george_" path ".dwg") ; <--- example george

(如果路径(vla open(vla get Documents(vlax get Acad Object))dwg:vlax false);

prodromosm 发表于 2022-7-5 21:34:30

AIberto 发表于 2022-7-5 21:39:17

 
Dear hanhphuc.
good idea , only rename ? open the temp folder ?I think can rename it ,and open it ?no need open the temp folder.

hanhphuc 发表于 2022-7-5 21:41:35

 
1) george_ replaced

(vl-filename-mktemp(strcat (vl-filename-base fn) "_") path ".dwg")
 
 
 
2) i dont really understand comment, the routine just create new dwg name (not rename), so i think no conflict. you can keep or delete it safely
 
 
 
replace this

(if path   (command "shell" (strcat "explorer \"" path))) ; optional: open the destination folder
to

(if path (vla-open (vla-get-Documents (vlax-get-Acad-Object)) dwg :vlax-false)) ;
页: 1 [2]
查看完整版本: 在autocad*中打开。sv$,*。bak,*。