明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1208|回复: 9

[函数] 如何让lisp自动在桌面创建一个txt文件

[复制链接]
发表于 2023-7-13 12:54 | 显示全部楼层 |阅读模式
如图,因每个人的电脑名称不一样,比如下图分别是“1”和"Administrator",所以每个人电脑的桌面路径可能不一样,如何让程序能自动获取电脑名称,并成功在每个使用者的桌面上建立一个文件?

本帖子中包含更多资源

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

x
发表于 2023-7-13 21:25 | 显示全部楼层
本帖最后由 muwind 于 2023-7-13 23:21 编辑

用 (getenv "userprofile")获取当前用户文件夹
(strcat (getenv "userprofile")  "\\Desktop\\输出结果.txt" )   应该也可以



命令: (getenv "ALLUSERSPROFILE")
"C:\\ProgramData"

命令: (getenv "APPDATA")
"C:\\Users\\用户名\\AppData\\Roaming"


命令: (getenv "CommonProgramFiles")
"C:\\Program Files\\Common Files"

命令: (getenv "COMPUTERNAME")
"计算机名"

命令: (getenv "COMSPEC")
"C:\\Windows\\system32\\cmd.exe"


命令: (getenv "HOMEDRIVE")
"C:"

命令: (getenv "HOMEPATH")
"\\Users\\用户名"

命令: (getenv "NUMBER_OF_PROCESSORS")
"4"

命令: (getenv "OS")
"Windows_NT"

命令: (getenv "Path")
"c:\\program files\\autocad 2010\\zh-cn;c:\\program files (x86)\\nvidia
corporation\\physx\\common;c:\\windows\\system32;c:\\windows;c:\\windows\\system
32\\wbem;c:\\windows\\system32\\windowspowershell\\v1.0\\;c:\\users\\用户名\\
appdata\\roaming\\autodesk\\autocad 2010\\r18.0\\chs\\support;c:\\program
files\\autocad 2010\\support;c:\\program files\\autocad 2010\\fonts;c:\\program
files\\autocad 2010\\help;c:\\program files\\autocad
2010\\support\\color;c:\\program files\\autocad
2010;c:\\program files\\autocad 2010\\drv"

命令: (getenv "PATHEXT")
".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC"

命令: (getenv "PROCESSOR_ARCHITECTURE")
"AMD64"


命令: (getenv "PROCESSOR_LEVEL")
"6"

命令: (getenv "PROCESSOR_REVISION")
"2502"

命令: (getenv "ProgramFiles")
"C:\\Program Files"

命令: (getenv "SESSIONNAME")
"Console"

命令: (getenv "SYSTEMDRIVE")
"C:"

命令: (getenv "SYSTEMROOT")
"C:\\Windows"

命令: (getenv "TEMP")
"C:\\Users\\用户名\\AppData\\Local\\Temp"


命令: (getenv "tmp")
"C:\\Users\\用户名\\AppData\\Local\\Temp"

命令: (getenv "USERNAME")
"用户名"

命令: (getenv "USERPROFILE")
"C:\\Users\\用户名"

命令: (getenv "WINDIR")
"C:\\Windows"

评分

参与人数 2明经币 +2 收起 理由
caoliu023 + 1 很给力!
liuhe + 1

查看全部评分

回复 支持 4 反对 0

使用道具 举报

 楼主| 发表于 2023-7-13 13:09 | 显示全部楼层
已解决,(setq ff (open (strcat (vla-item (vlax-get (vlax-create-object "WScript.Shell" ) 'SpecialFolders) "Desktop") "\\输出结果.txt") "w"))
发表于 2023-7-13 14:12 | 显示全部楼层
你图示的方法也是可以创建的。
发表于 2023-7-13 14:21 | 显示全部楼层
利用 windows 的用户变量 %userprofile%, %userprofile%/desktop 应该也可以吧。直接写路径要考虑一下系统的安装位置。我记得这个位置是可以搬家移动到别的分区的,用 C:/... 没有通用性。
 楼主| 发表于 2023-7-13 21:43 | 显示全部楼层
muwind 发表于 2023-7-13 21:25
用 (getenv "userprofile")获取当前用户文件夹
(strcat (getenv "userprofile")  "\\Desktop\\输出结果.t ...

对,这种更简洁
 楼主| 发表于 2023-7-13 21:44 | 显示全部楼层
自贡黄明儒 发表于 2023-7-13 14:12
你图示的方法也是可以创建的。

我那种不能自动识别用户名称,用户名称是固定的,使用灵活性欠缺
 楼主| 发表于 2023-7-13 22:05 | 显示全部楼层
muwind 发表于 2023-7-13 21:25
用 (getenv "userprofile")获取当前用户文件夹
(strcat (getenv "userprofile")  "\\Desktop\\输出结果.t ...

发表于 2023-7-14 07:33 | 显示全部楼层
学习学习顶一个
发表于 2023-7-14 09:12 | 显示全部楼层
muwind 发表于 2023-7-13 21:25
用 (getenv "userprofile")获取当前用户文件夹
(strcat (getenv "userprofile")  "\\Desktop\\输出结果.t ...

牛逼  佩服大佬
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-3 13:10 , Processed in 0.456682 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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