taoyi0727 发表于 2019-11-17 17:25:13

请教下getenv getvar 和区别

本帖最后由 taoyi0727 于 2019-11-17 17:29 编辑

(getenv "TEMP")
(getenv "WINDIR")
(getenv "ACAD")
(getenv "SYSTEMROOT")
(getenv "WINDIR")
(getenv "WINBOOTDIR")
(getenv "SYSTEMDRIVE")
(getenv "USERNAME")
(getenv "COMPUTERNAME")
(getenv "HOMEDRIVE")
(getenv "HOMEPATH")
(getenv "PROGRAMFILES")
(getenv "ACADVER")
(getenv "PROCESSOR_ARCHITECTURE")
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=4309&replyID=&skin=1
我在这论坛里查到这个
但是这些参数是哪里来的呢

getvar这个都好找,在CAD帮助里就可以找到
getenv这个是什么,完全不知道后面的参数是怎么来的
这两个的什么区别
难到getvar是获取CAD的系统变量,getenv是获取的windows的变量?

satan421 发表于 2019-11-17 17:25:14

本帖最后由 satan421 于 2019-11-17 18:28 编辑

getenv获取的,大部分是当前操作系统的环境变量,个别的应该是CAD定义的软件环境变量(这么说可能不确切),比如(getenv "ACAD")获取的是"支持文件搜索"路径。了解批处理的话,很多环境变量应该比较熟悉。
以win10为例,控制面板—>系统和安全—>系统—>高级系统设置—>高级—>环境变量,可查看环境变量(发现有些并不准确,比如USERNAME,但是CMD输入echo %username%查看,得到的是正确的):


taoyi0727 发表于 2019-11-17 17:36:50

本帖最后由 taoyi0727 于 2019-11-17 17:46 编辑

命令 “SETVAR” 再输问号“?” 再回车
这个里面只是CAD的

t18-13nil 发表于 2019-11-17 17:49:12

这是获取环境变量 getenvironment 的缩写

taoyi0727 发表于 2019-11-17 18:47:50

satan421 发表于 2019-11-17 18:26
getenv获取的,大部分是当前操作系统的环境变量,个别的应该是CAD定义的软件环境变量(这么说可能不确切), ...

谢谢 回复

我今天在网上收集的,具体有哪个作用是什么还不知道
"ACAD"
"ACADDRV"
"ACADHELP"
"ACADLOGFILE"
"ACADLspAsDoc"
"ACADPLCMD"
"ACADVER"
"acet-Enable"
"acet-MenuLoad"
"AcetRText:type"
"AlternativePageSetUpsTemplate"
"ANSIHatch"
"ANSILinetype"
"Anyport"
"APERUPDATE"
"ath"
"athext"
"Attdia"
"Attreq"
"AutomaticSaveMinutes"
"AutoSnapControl"
"AutoSnapPolarAddAng"
"AutoSnapPolarAng"
"AutoSnapPolarDistance"
"AutoSnapShowAperture"
"AutoSnapSize"
"AutoSnapTrackPath"
"Autotracking vector"
"AVEMAPS"
"Background"
"BActionColor"
"BEditBackground"
"BGripObjColor"
"Blipmode"
"BNS_FSMODE"
"BParameterColor"
"BParameterFont"
"CmdLine.BackColor"
"CmdLine.FontFace"
"CmdLine.FontHeight"
"CmdLine.FontItalic"
"CmdLine.FontPitchAndFamily"
"CmdLine.FontWeight"
"CmdLine.ForeColor"
"CmdVisLines"
"ColorBookLocation"
"CommandDialogs"
"ComputerName"
"COMSPEC"
"ContextMenus"
"Coords"
"CursorSize"
"CustomColors"
"CustomDictionary"
"DatabaseWorkSpacePath"
"DefaultConfig"
"DefaultFormatForSave"
"DefaultLayerZeroPlotStyle"
"DefaultLoginName"
"DefaultPlotStyle"
"Delobj"
"Dragmode"
"DYNMODE"
"EdgeMode"
"EmergencyFont"
"EnterpriseMenuFile"
"FontFace"
"FontHeight"
"FontItalic"
"FontMappingFile"
"FontPitchAndFamily"
"FontWeight"
"GripSize"
"Group1"
"HideWarningDialogs"
"HOMEDRIVE"
"HOMEPATH"
"ickAuto"
"ickBox"
"ickFirst"
"ickstyle"
"IconFilePath"
"IESWEB"
"ImageHighlight"
"InsertUnitsDefSource"
"InsertUnitsDefTarget"
"InsertUnitsDefTarget"
"IsavePercent"
"ISOHatch"
"ISOLinetype"
"LastModifiedConfig"
"LastTemplate"
"Layout background"
"LayoutXhairPickboxEtc"
"LineWeightUnits"
"LogFilePath"
"LOTLEGACY"
"lotSpoolerDirectory"
"LSPOOLALERT"
"LWDEFAULT"
"MainDictionary"
"MaxArray"
"MaxDwg"
"Measureinit"
"MenuFile"
"MenuOptionFlags"
"ModeBits"
"MonoVectors"
"MRUConfig"
"MTextEditor"
"MTextJigString"
"NetLocation"
"NewStyleSheet"
"ObjectSnapCursorSize"
"OLEQUALITY"
"OS"
"Osmode"
"PickBox"
"Pickstyle"
"PlotLogPath"
"PlotSpoolerDirectory"
"PlotToFilePath"
"PrinterConfigDir"
"PrinterDescDir"
"PrinterStyleSheetDir"
"PROCESSOR_ARCHITECTURE"
"ProfileStorage"
"PROGRAMFILES"
"QAFlags"
"ReportError"
"rinterConfigDir"
"rinterDescDir"
"rinterStyleSheetDir"
"SaveFilePath"
"SDF_AttributeExtractTemplateFile"
"SDIMode"
"SelectionPreview"
"SheetSetTemplatePath"
"ShowProxyDialog"
"SnapType"
"SOUT_PrologFileName"
"StartUpType"
"STYLEPOLICY"
"SystemDrive"
"SystemRoot"
"Temp"
"TempDirectory"
"TemplatePath"
"TextFill"
"TextWindow.BackColor"
"TextWindow.FontFace"
"TextWindow.FontHeight"
"TextWindow.FontItalic"
"TextWindow.FontPitchAndFamily"
"TextWindow.FontWeight"
"TextWindow.ForeColor"
"TMP"
"ToolTips"
"UseMRUConfig"
"UserName"
"UserProfile"
"UseStartUpDialog"
"Validation Policy"
"Validation Strategy"
"WINBOOTDIR"
"Windir"
"WSCURRENT"
"XCROSSHAIRLABEL"
"XhairPickboxEtc"
"XrefLoadPath"
"YCROSSHAIRLABEL"
"ZCROSSHAIRLABEL"
"ZoomFactor"

菜卷鱼 发表于 2019-11-23 15:10:47

本帖最后由 菜卷鱼 于 2019-11-23 15:12 编辑

getenv可以自定义变量,这个变量可以存到系统里,而且只支持 字符串 ,跟setenv 配合使用
比如 (setenv "woshishei" "smartboy")   
然后就算你重启 CAD,你仍然可以通过 (getenv "woshishei") 得到"smartboy"

getvar 与 setvar 就只支持系统变量 ,比如 (getvar 'cmdecho)(setvar 'cmdecho 0) (getvar 'osmode)

taoyi0727 发表于 2019-11-23 18:46:06

菜卷鱼 发表于 2019-11-23 15:10
getenv可以自定义变量,这个变量可以存到系统里,而且只支持 字符串 ,跟setenv 配合使用
比如 (setenv...

谢谢
getvar只能用于 CAD的系统变量
setvar只能用于 CAD的系统变量(只要CAD有这个变量就可以用,除只读以外)

getenv只以用于windows的环境变量(windows没有的变量可以自己增加,windows永久保存)
setenv只以用于windows的环境变量(windows没有的变量可以自己增加,windows永久保存)

问下windows的环境变量是储存在哪里的呢,是注册表里吗?

再见熊猫衣服 发表于 2019-12-13 13:10:52

楼主大大,能不能帮我写个面板啊。。。

taoyi0727 发表于 2019-12-13 13:41:12

再见熊猫衣服 发表于 2019-12-13 13:10
楼主大大,能不能帮我写个面板啊。。。

写什么面板?

puyang 发表于 2024-1-9 15:32:23

菜卷鱼 发表于 2019-11-23 15:10
getenv可以自定义变量,这个变量可以存到系统里,而且只支持 字符串 ,跟setenv 配合使用
比如 (setenv...

自己添加的setenv变量保存在电脑什么位置?不卸载CAD情况下 可以一次性清除自己添加的变量么?
页: [1]
查看完整版本: 请教下getenv getvar 和区别