明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1896|回复: 9

LISP 调用DOS 【nonsmall】

[复制链接]
发表于 2009-10-20 16:33:00 | 显示全部楼层 |阅读模式

在BAT下执行以下语句

@echo off
set a=e:\
set b=%username%
c:
cd\
cd documents and settings\%b%\桌面


copy *.plt %a% /y

完全没有问题

而在LISP中,执行

(RunDOS
(list

"@echo off"
"set a=e:\"
"set b=%username%"
"c:"
"cd\"
"cd documents and settings\%b%\桌面"


"copy *.plt %a%"


"exit"

))

无法执行

困惑!求助!

 楼主| 发表于 2009-10-20 16:34:00 | 显示全部楼层
使用\\也不行
 楼主| 发表于 2009-10-20 16:35:00 | 显示全部楼层
提示: 错误,输入的字符串有缺陷
发表于 2009-10-20 17:09:00 | 显示全部楼层

很简单

你用Lisp写出来一个.bat文件

然后用Lisp调用startApp 或者 Wscript对象 去执行一下就行了

 楼主| 发表于 2009-10-21 08:21:00 | 显示全部楼层
lisp写BAT???就我上面的代码,该如何写啊!
 楼主| 发表于 2009-10-21 17:18:00 | 显示全部楼层
试了一个下午,没有结果!!!
发表于 2009-10-21 18:23:00 | 显示全部楼层

open write-line 函数也不会用的话

那就把bat文件手动写好了放一个地方

比如C盘下面 1.bat

然后用startapp函数直接执行好了

(startapp c:\\1.bat)

 楼主| 发表于 2009-10-22 10:50:00 | 显示全部楼层
nonsmall发表于2009-10-21 18:23:00open write-line 函数也不会用的话那就把bat文件手动写好了放一个地方比如C盘下面 1.bat然后用startapp函数直接执行好了(startapp c:\\1.bat)

虽然写的有点复杂了,但至少能实现功能!感谢提醒!

(setq f (open "d:\\1.bat" "W"))
(write-line
"
@echo off
set a=D:\\
set b=%username%
c:
cd\\
cd documents and settings\\%b%\\桌面


copy *.plt %a% /y
DEL *.PLT
"
f)

(close f)

(startapp "d:\\1.bat")

(rundos
(list

"del d:\\1.bat"
"exit"
)
)

发表于 2009-10-22 11:30:00 | 显示全部楼层

你做这功能用Lisp都能实现的

vl-file-copy 文件拷贝

vl-file-delete 文件删除

桌面路径用Script对象……

 楼主| 发表于 2009-10-22 12:28:00 | 显示全部楼层
nonsmall发表于2009-10-22 11:30:00你做这功能用Lisp都能实现的vl-file-copy 文件拷贝vl-file-delete 文件删除桌面路径用Script对象……

刚刚起步学,献丑了!!!。。。。。^_^

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

本版积分规则

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

GMT+8, 2024-10-1 17:16 , Processed in 0.180700 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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