找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2329|回复: 17

[推荐]:用plt文件打印,能把文件拖到打印机图标上实现吗?

[复制链接]
发表于 2002-1-21 21:25:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
提示说需要定义关联操作,我知道是:“copy XXX.plt prn”但是如何关联?
据说要在文件类型里边。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
 楼主| 发表于 2002-1-21 23:05:48 | 显示全部楼层
不可以。不过你可以自己写一个批处理程序或wscript程序。
文件类型里面可以,说起来烦。

给你写一个批处理程序例子,CopyToPrn.bat
以后把*.plt文件拖到这个文件的图标或快捷方式上即可。可以拖一批文件。不能是文件夹(要这种功能的话自己去研究一下windows script language.


  1. @echo off
  2. echo CopyToPrn.BAT copies any number of files
  3. echo to a prn device.
  4. echo The command uses the following syntax:
  5. echo CopyToPrn file1 file2 ...
  6. echo ----------------------------------------
  7. echo Written by Qiu Feng, Zhejiang University
  8. echo Jan.21, 2002

  9. rem Printer can be set as Prn, Lpt1, Lpt2

  10. set Printer=Prn

  11. :getfile
  12.   if "%1"=="" goto end
  13.   @echo on
  14.   copy %1 %Printer%
  15.   @echo off
  16.   shift
  17. goto getfile

  18. :end
  19. set Printer=
  20. echo All files copied..
复制代码


程序下载附后。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-1-22 13:56:40 | 显示全部楼层

我的解决方法

我在晓东空间旧址问过这个问题,后来也是写了个批处理程序来解决。方法简单,但很实用。
解决方法:建一个plt文件夹,将所有的文件打印到这个文件夹中。将附件中的plt.bat放到同一级目录下运行,就可以将plt文件夹中的打印文件全部打印完成,然后删除打印过的*.plt文件。大家可以试试。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-1-22 20:05:55 | 显示全部楼层
我是-〉
建一个plt文件夹,将所有的文件打印到这个文件夹中
copy *.plt prn
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-1-22 21:41:33 | 显示全部楼层

谢谢各位的热心回复!

我觉得还是秋枫的方法最有效,
不过,有个bug,

   如果文件夹的名称里面有空格,比如“my documents”,而且
   批处理文件不在当前目录,或者你就把桌面的plt文件拖到桌面
   的那个批处理文件上,
   那么拖动是不能实现打印的!
   如果没有空格,哪怕再长的文件夹名称,或者中文,都可以打印。

有办法处理吗?

批处理我没有好好学,没想到今天仍然这么有用,呵呵。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-2-1 22:28:14 | 显示全部楼层

Re: 谢谢各位的热心回复!

这个bug可以纠正:

copy %1 %Printer%
改为
copy "%1" %Printer%
即可。


最初由 goodsheep 发布
[B]我觉得还是秋枫的方法最有效,
不过,有个bug,

   如果文件夹的名称里面有空格,比如“my documents”,而且
   批处理文件不在当前目录,或者你就把桌面的plt文件拖到桌面
   的那个批处理文件上,
   那么... [/B]


  1. @echo off
  2. echo CopyToPrn.BAT copies any number of files
  3. echo to a prn device.
  4. echo The command uses the following syntax:
  5. echo CopyToPrn file1 file2 ...
  6. echo ----------------------------------------
  7. echo Written by Qiu Feng, Zhejiang University
  8. echo Jan.21, 2002

  9. rem Printer can be set as Prn, Lpt1, Lpt2

  10. set Printer=Prn

  11. :getfile
  12.   if "%1"=="" goto end
  13.   @echo on
  14.   copy "%1" %Printer%
  15.   @echo off
  16.   shift
  17. goto getfile

  18. :end
  19. set Printer=
  20. echo All files copied.
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-2-1 22:37:22 | 显示全部楼层
这里是我用jscript写的一个程序,下面是源代码。附件下载。

用法:直接把'要打印的PLT文件'或'含有要打印的PLT文件的文件夹'拖到这个程序的图标上即可。可以一次拖多个文件或文件夹。对于扩展名不是指定的文件类型(如PLT)可以自动忽略。

在winxp下面测试通过。未在win98下面测试



  1. /* ======================================================================

  2. JScript Source File -- Created with SAPIEN Technologies PrimalSCRIPT(TM)

  3. NAME: PLOT.JS

  4. AUTHOR: Qiu Feng , Zhejiang University
  5. DATE  : 2002-2-1

  6. COMMENT: This program try to copy plot files to printer device by Drag and Drop.

  7. 这是一个自动打印PLT文件的JSCRIPT程序

  8. 用法:直接把'要打印的PLT文件'或'含有要打印的PLT文件的文件夹'拖到这个程序的图标上

  9. 即可。
  10. 可以一次拖多个文件或文件夹。对于扩展名不是指定的文件类型(如PLT)可以自动忽略。

  11. ========================================================================= */

  12. var vbOKOnly = 0;
  13. var vbOKCancel = 1;
  14. var vbYesNo = 4;
  15. var vbInformation = 64;
  16. var vbQuestion = 32;
  17. var vbCancel = 2;
  18. var vbYes = 6;
  19. var vbNo = 7;

  20. var Plotter = "LPT1";   //指定打印机口
  21. var AlertCount = 10;    //当文件数超过此数时要求确认
  22. var FileExt = ".PLT";   //PLOT文件扩展名
  23. var AboutString = "这是一个自动打印PLT文件的JSCRIPT程序\n\n用法:直接把'要打印的

  24. PLT文件'或'含有要打印的PLT文件的文件夹'拖到这个程序的图标上即可。可以一次拖多个

  25. 文件或文件夹。对于扩展名不是指定的文件类型(如PLT)可以自动忽略,自动搜索子文件

  26. 夹中的打印文件。\n\n程序设计:邱枫,浙江大学建筑系,2002.2"
  27. var Args = WScript.Arguments;
  28. var fso = new ActiveXObject("Scripting.FileSystemObject");
  29. var WShell = new ActiveXObject("WScript.Shell");
  30. var fList = new Array();

  31. ///////////////////////////////////////////////////////////

  32.   main();

  33. ///////////////////////////////////////////////////////////

  34. function About() {
  35.     var WSHShell = WScript.CreateObject("WScript.Shell");
  36.     WSHShell.Popup(AboutString, 0, "说明", vbOKOnly + vbInformation );
  37. }

  38. function AddFolder(f) {
  39.   var Files, Folders, tempf;
  40.   if (fso.FolderExists(f))
  41.   { Files = new Enumerator(fso.GetFolder(f).Files);
  42.     for (; !Files.atEnd(); Files.moveNext())
  43.      { tempf = Files.item();
  44.        if (tempf.name.substr(tempf.name.length-4).toUpperCase() == FileExt)
  45.          {
  46.                     fList = fList.concat(tempf.path);
  47.              }
  48.      }
  49.     Folders = new Enumerator(fso.GetFolder(f).SubFolders);
  50.     for (; !Folders.atEnd(); Folders.moveNext())
  51.             AddFolder(Folders.item().path);  //此处递归
  52.   }
  53. }   

  54. // 主程序
  55. function main() {
  56. var f;

  57. if (Args.Length == 0)    //参数
  58. {
  59.         About();
  60.         WScript.Quit();
  61. }

  62. for (i = 0; i < Args.Length; i++)
  63. {
  64.   f = Args.Item (i);
  65.   
  66.   if ( f.substr(f.length-4).toUpperCase() == FileExt )
  67.   { fList = fList.concat(f); }

  68.   if (fso.FolderExists(f))
  69.   { AddFolder(f); }

  70. }
  71.                         //确认没搞错
  72. if (fList.length > AlertCount)
  73. { if (vbNo == WShell.Popup("你选取了"+fList.length+"个PLT文件打印,确认没弄错?  

  74. (60秒后自动确认)\n\n"+fList.join("\n"),
  75.                60, "确认",vbYesNo + vbQuestion))
  76.   {
  77.     WShell.Popup("打印取消。", 10, "PLOT", vbOKOnly+vbInformation);
  78.     WScript.Quit();
  79.   }
  80. }
  81.                         //往Plotter设备上copy
  82. for (i=0; i<fList.length; i++)
  83. {
  84.   f = fso.GetFile(fList[i]);
  85.   f.Copy(Plotter);
  86. }

  87. WShell.Popup("打印完毕。", 10, "PLOT", vbOKOnly+vbInformation);

  88. } // 主程序结束;
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-2-1 23:28:31 | 显示全部楼层
真为打印机生产厂商感到难过,如此简单且必要的批处理功能居然没有,还要有劳各位大侠来提供BUG,真不知那些打印文件管理器是怎么设计的。小弟在此多谢各位大侠的古道热肠了...
:2  :2  :2  :2
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-2-1 23:48:10 | 显示全部楼层
哇!真是厉害!技术上的可以练就,但是热心肠是天生的!各位老大!祝论坛蒸蒸日上,越办越好!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-2-5 01:56:30 | 显示全部楼层
用PLT文件实现批打印,效果并不理想。AutoCAD提供了多种方式可以做到批打印。例如采用Autospool方式,就可完成多个文件的后台输出。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-7-31 11:25:40 | 显示全部楼层
附件已删,我还没有下载,能不能再上传呀?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-8 19:24:45 | 显示全部楼层
最初由 tdp8888 发布
[B]附件已删,我还没有下载,能不能再上传呀? [/B]


不必再上传的,前面几个都是批处理文件*.bat,最后一个是脚本文件文件名是plot.js,你只要将上面的源码用记事本存到相应的文件中就行了。

这里有秋风上传的附件http://www.xdcad.net/forum/showt ... d=389584#post389584
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-8 19:25:54 | 显示全部楼层
最初由 freedomyang 发布
[B]用PLT文件实现批打印,效果并不理想。AutoCAD提供了多种方式可以做到批打印。例如采用Autospool方式,就可完成多个文件的后台输出。 [/B]


请演示下autosool的使用*-*4
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-26 17:42:21 | 显示全部楼层
lihai!!佩服
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-4-11 11:23:24 | 显示全部楼层
我做成后为什么不行啊?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-11-13 19:04 , Processed in 0.510437 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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