乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 56|回复: 9

[编程交流] 创建新文件夹无效

[复制链接]

28

主题

124

帖子

96

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
140
发表于 2022-7-5 17:16:43 | 显示全部楼层 |阅读模式
大家好
 
我试图使用lisp在homedrive中创建一个新目录,但它不起作用。
 
这是一个了不起的李Mac的例行程序。
 
所以调用函数的代码是
 
  1. (LM:createdirectory "%HOMEDRIVE%\\AutoCAD2013\\Support")

 
...不起作用,返回零
 
如果我使用这个代码
 
  1. (LM:createdirectory "C:\\AutoCAD2013\\Support")

 
...它起作用了。
 
我对主驱动器具有完全控制权限。主驱动器是否有其他停止创建文件夹的功能?
 
181701x9rqozfqq1bj7oay.png
 
谢谢
保罗
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:29:00 | 显示全部楼层
这为我返回了什么(getenv“Homedrive”)c:
回复

使用道具 举报

28

主题

124

帖子

96

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
140
发表于 2022-7-5 17:34:44 | 显示全部楼层
 
我得到“G:”在那里我可以看到我的home drive,所以假设正确吗?
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:42:01 | 显示全部楼层
有时网络需要\\baracudda\用户而不是G:
 
使用(vl mkdir dir)尝试dir的不同选项
 
另一种方法是使用从Autocad调用的bat文件的老式DOS。G: CD。。。。。MD。。。。等
 
  1. This worked for me (vl-mkdir "P:\\temp\\alan")
  2. so try  
  3. (vl-mkdir (strcat (getenv "homedrive") "\\temp\\alan"))
回复

使用道具 举报

28

主题

124

帖子

96

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
140
发表于 2022-7-5 17:44:47 | 显示全部楼层
我收到一条错误消息
; 错误:错误的参数类型:stringp nil
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:51:36 | 显示全部楼层
修复了发布“\\mydrive被转换为URL地址时没有注意到删除引号”,编辑的代码现在需要在引号“c:\\Temp\\Alan”等中工作
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:01:43 | 显示全部楼层
首先需要将环境变量%HOMEDRIVE%转换为UNC路径,例如:
  1. ;; Expand Environment String  -  Lee Mac
  2. (defun LM:expenvstr ( str / res wsh )
  3.    (if (setq wsh (vlax-create-object "wscript.shell"))
  4.        (progn
  5.            (setq res (vl-catch-all-apply 'vlax-invoke (list wsh 'expandenvironmentstrings str)))
  6.            (vlax-release-object wsh)
  7.            (if (null (vl-catch-all-error-p res))
  8.                res
  9.            )
  10.        )
  11.    )
  12. )
  1. (LM:createdirectory (LM:expenvstr "%HOMEDRIVE%\\AutoCAD2013\\Support"))
或使用:
  1. (LM:createdirectory (strcat (getenv "HOMEDRIVE") "\\AutoCAD2013\\Support"))
回复

使用道具 举报

28

主题

124

帖子

96

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
140
发表于 2022-7-5 18:05:31 | 显示全部楼层
 
谢谢艾伦。我看到了,然后手动输入——仍然不起作用。我觉得权限有点奇怪。
回复

使用道具 举报

28

主题

124

帖子

96

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
140
发表于 2022-7-5 18:13:04 | 显示全部楼层
 
非常感谢李!这非常有效。非常感谢
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:17:56 | 显示全部楼层
不客气!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 08:55 , Processed in 0.497673 second(s), 86 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表