ykung 发表于 2003-10-3 18:32:00

鼠标拖放将plt文件发送到绘图机

各位设计界的同仁,不知道您们在实际的设计工作中是如何出图的,我们这里是习惯于先
作好plt,在copy的绘图机,一般要在dos下操作,我自编了一个.bat文件,可以用鼠标的
拖放操作将plt发送到绘图机。

拖放操作实现将plt文件发送的绘图机的批处理程序.
(以下一个是拖plt文件,一个是拖plt文件所在的目录,第二个要实用些)
实现原理是设置DOS批处理文件的命令行参数%1,以此来接收鼠标的拖放。它可以避免在DOS下输入命令的烦琐,同时使用拖放的方式也比较时尚。我单位工作环境是局域网,配备一台HP绘图仪作为网络绘图仪,端口号为:\\plot2\hp,实际工作习惯是将Autocad图形作成plt文件,再通过DOS下输入“copy *.plt \\plot2\hp”命令将plt文件发送的网络绘图仪出图。程序为:
@echo -----------------------------------------------------------------------------------------------
@echo                     plt文件发送器文件版                              
@echo 本程序可将指定的所有plt文件发送到HP1050c 可以最多2个plt文件
@echo 使用方法:鼠标左或右键将plt文件拖放到本程序图标      
@echo                           四川省建筑设计院二所 姚坤编制 2003.8.25
@echo ------------------------------------------------------------------------------------------------
@echo off
if "%1" == "" goto nofile
:getfile
if "%1" == "" goto end
copy %1 \\plot2\hp
@echo 1个plt文件已经发送完成!
shift
goto getfile
:nofile
@echo 没有文件,参数不对,程序退出!
goto enderr
:end
@echo 发送完毕!
:enderr
@echo on
但是,在实际的使用中确发现,用鼠标拖放的方式一次最多只能拖放2个plt文件,再多程序就不能运行了,这可能是DOS批处理文件接受参数的数量有限制造成的。这样这个程序的实用性就大打折扣了,毕竟实际工作中要一次发送的plt文件一般都是几十个啊。
有没有办法来解决这个缺陷呢?
经过一番研究,我找到了解决问题的办法,就是将鼠标拖放的对象由plt文件改为文件夹。将plt文件放到一个文件夹中,再将此文件夹拖放到程序图标,这样就可以一次将无限制数量的plt文件发送到绘图仪了。修改后的程序如下:
@echo -------------------------------------------------------------------------------------------------
@echo                     plt文件发送器 目录版                              
@echo 本程序可将指定目录下的所有plt文件发送到HP1050c 可以最多2个目录
@echo 使用方法:鼠标左或右键将plt文件所在目录拖放到本程序图标      
@echo                           四川省建筑设计院二所 姚坤编制 2003.8.25
@echo ---------------------------------------------------------------------------------------------------
@echo off
if "%1" == "" goto nofile
@echo 正在发送,请稍候...
copy %1\*.plt \\plot2\hp
@echo 发送完毕!
goto end
:nofile
@echo 参数不对,没有可发送的plt文件!程序退出!
:end
@echo on

请大家试用,多多指教。

citykunan 发表于 2003-10-6 10:46:00

为何我双击*.bat文件就立刻消失了呢?

ykung 发表于 2003-11-23 16:29:00

不是双击来运行的

这个bat是要将plt文件或包含plt文件的目录用鼠标拖放到bat程序的图标上来执行的,
双击运行没有输入参数,当然退出了。
另外在winXP下运行时我发现会执行不了,主要是程序中检查%1是否为空的语句好像
在XP下不支持这个语句,可以取消这行检查的语句,您自己保证拖放的参数正确了。
页: [1]
查看完整版本: 鼠标拖放将plt文件发送到绘图机