首页 > 解决方案 > 使用批处理文件问题打印 ZPL 文件

问题描述

我们为我们的运输软件运行 NetSuite,并使用 Zebra ZP450 打印机打印热敏标签。该软件会下载一个 .zpl 文件,我已指定该文件与批处理文件一起运行,脚本如下:

Net use LPT2: \\%ComputerName%\ZebraFedex

Copy %1 LPT2

Net use LPT2: /Delete

我已经在大约 20 台或更多台计算机上安装了它,没有任何问题。但最后两个将启动批处理文件但不打印。

我能够在批处理文件上暂停,这就是我得到的:

C:\users\noah\downloads\net 使用 LPT2:\(ComputerName)\ZebraFedex

命令成功完成

C:\Users\Noah\Downloads\复制 LPT2

该系统找不到指定的文件。0 个文件已复制

C:\Users\Noah\Downloads>Net use LPT2: /Delete

我检查了我的文件关联,这似乎是正确的,因为我在屏幕上看到命令提示符闪烁。我不知道这里...

这是批处理文件在另一台计算机上成功运行的屏幕截图

在另一台计算机上成功工作

这是批处理文件不起作用的屏幕截图

令人费解的电脑问题

标签: batch-filenetsuitezebra-printersnetwork-printers

解决方案


这是我将文件传输到我古老的 TLP2844 的批次:

@ECHO OFF
SETLOCAL
FOR %%a IN (%*) DO (
 IF EXIST "%%a" (COPY /b "%%~a" \\%computername%\TLP2844
 ) ELSE (
  IF EXIST "%%a.txt" (
   COPY /b "%%~a.txt" \\%computername%\TLP2844
  ) else (
   ECHO Neither "%%a" nor "%%a.txt" appears to EXIST
  )
 )
)

我在 USB003 上TLP2844安装了一台称为设备的打印机。ZDesigner TLP 2844


问题,如我在您的问题中包含的图形所示(保存运行追逐链接)是标签文件C:\users\melan\downloads\UPSSHIPPINGLABEL1700448.zpl作为%1(第一个参数)提供给批处理。在问题安装中,没有文件名(大概C:\users\Noah\downloads\UPSSHIPPINGLABEL???????.zpl是以%1.

因此,这不是批处理问题,而是Netsuite.

来自您的 .pdf,第 26 页:

要在 Windows PC 上安装热敏打印机驱动程序: ... 5. 在共享名称字段中,输入打印机的名称。例如,LP 2844。打印机名称不能包含空格。

因此,您被告知打印机名称不能包含空格,但示例打印机名称包含空格......非常好!(显示我对产品的信心程度,但实际上与问题没有直接关系):(

就个人而言,我会将您的批处理文件更改为

Copy %1 \\%ComputerName%\ZebraFedex

也许您会在解决Netsuite无法将文件名传送到批处理的问题后尝试这样做。也许它被设置为.pdf在有问题的计算机上生成 s(这是一个疯狂的猜测)


回应回复:

请将您的批处理文件(暂时用于测试目的)更改为:

Echo File to print : "%1"

Net use LPT2: \\%ComputerName%\ZebraFedex

Copy %1 LPT2

Net use LPT2: /Delete

PAUSE

它将报告Netsuite控制台窗口上的批处理文件提供的文件名,然后在批处理结束时保持窗口打开,直到打开的窗口收到击键。

请报告“工作”和“错误”安装的结果。


推荐阅读