明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3326|回复: 8

[源码] 怎么用DOS写的BAT文件,读自己所在位置,再写入注册表。

[复制链接]
发表于 2011-7-15 22:44 | 显示全部楼层 |阅读模式
如BAT文件d:\kcad\set.bat。
读注册表[HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R16.1\ACAD-301:409\Profiles\<<Unnamed Profile>>\General]
"PrinterDescDir"="C:\\Documents and Settings\\Administrator\\Application Data\\Autodesk\\AutoCAD 2005\\R16.1\\enu\\plotters\\PMP Files"
"ACAD"="C:\\Documents and Settings\\Administrator\\Application Data\\Autodesk\\AutoCAD 2005\\R16.1\\enu\\support;C:\\Program Files\\AutoCAD 2005\\support;C:\\Program Files\\AutoCAD 2005\\fonts;C:\\Program Files\\AutoCAD 2005\\help;C:\\Program Files\\AutoCAD 2005\\express;C:\\Program Files\\AutoCAD 2005\\support\\color;D:\\Soft\\PCAD2005\\Dat;D:\\Soft\\PCAD2005\\Icon;D:\\Soft\\PCAD2005\\Program;D:\\Soft\\KCAD\\DAT;D:\\Soft\\KCAD\\program;D:\\Soft\\KCAD\\temp;C:\\Documents and Settings\\Administrator\\桌面\\big5togb;"

再把注册表改为
"ACAD"="C:\\Documents and Settings\\Administrator\\Application Data\\Autodesk\\AutoCAD 2005\\R16.1\\enu\\support;C:\\Program Files\\AutoCAD 2005\\support;C:\\Program Files\\AutoCAD 2005\\fonts;C:\\Program Files\\AutoCAD 2005\\help;C:\\Program Files\\AutoCAD 2005\\express;C:\\Program Files\\AutoCAD 2005\\support\\color;D:\\Soft\\PCAD2005\\Dat;D:\\Soft\\PCAD2005\\Icon;D:\\Soft\\PCAD2005\\Program;D:\\Soft\\KCAD\\DAT;D:\\Soft\\KCAD\\program;D:\\Soft\\KCAD\\temp;C:\\Documents and Settings\\Administrator\\桌面\\big5togb;
D:\\kcad\\dat;d:\\kcad\\program"此处要跟BAT文件位置改变.
如果是BAT文件E:\ee\kcad\set.bat,上面这行就要改为E:\\ee\\kcad\\dat;E:\\ee\\kcad\\program"
我邮箱kaibing137@163.com
发表于 2011-7-16 02:53 | 显示全部楼层
本帖最后由 zhynt 于 2011-7-16 02:55 编辑

vl-registry-read

对于指定的主键/值对,返回 Winodws 注册表存储的数据
(vl-registry-read reg-key [val-name])
参数
reg-key
字符串,指定 Windows 注册表主键。
val-name
字符串,包含注册表条目的值。
如果指定 val-name 且其值不为 nil,则将从注册表读取指定的值。如果未指定 val-name 或其值为 nil,函数将读取指定的主键及其所有值。

返回值
如果成功则返回包含注册表数据的字符串,否则返回 nil。

示例
_$  (vl-registry-read "HKEY_CURRENT_USER\\Test")
nil
_$ (vl-registry-write "HKEY_CURRENT_USER\\Test" "" "test data")
"test data"
_$  (vl-registry-read "HKEY_CURRENT_USER\\Test")
"test data"
-------------------------------------------------------------------------------------------------------------
vl-registry-write
在 Windows 注册表中创建主键
(vl-registry-write reg-key [val-name val-data])
参数
reg-key
字符串,指定 Windows 注册表主键。
注意 不能将 vl-registry-write 用于 HKEY_USERS 或 KEY_LOCAL_MACHINE。
val-name
字符串,包含注册表条目的值。
val-data
字符串,包含注册表数据。
如果未指定 val-name 或其值为 nil,则写入该主键的缺省值。如果指定了 val-name 且未指定 val-data,则存储空字符串。

返回值
如果成功则 vl-registry-write 返回 val-data,否则返回 nil。

示例
_$ (vl-registry-write "HKEY_CURRENT_USER\\Test" "" "test data")
"test data"
_$  (vl-registry-read "HKEY_CURRENT_USER\\Test")
"test data"

 楼主| 发表于 2011-7-16 19:42 | 显示全部楼层
用vlisp我会,但是我想用DOS。因为用lisp要先天CAD才可以。我想不开CAD就完成这些动作
发表于 2011-7-16 22:15 | 显示全部楼层
发表于 2011-8-2 23:31 | 显示全部楼层
上面的同志没有解决bat运行时获得当前路径,坐等
发表于 2011-8-3 08:51 | 显示全部楼层
本帖最后由 小菜123 于 2011-8-3 08:52 编辑

echo %cd% >1.txt
目录就在1.txt文件中了
发表于 2011-8-3 09:28 | 显示全部楼层
楼上正解,把路径换成%cd%就行
发表于 2011-8-3 21:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2011-8-3 22:59 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-16 16:24 , Processed in 0.159389 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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