batch-file - 使用批处理文件问题打印 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
我检查了我的文件关联,这似乎是正确的,因为我在屏幕上看到命令提示符闪烁。我不知道这里...
在另一台计算机上成功工作
令人费解的电脑问题
解决方案
这是我将文件传输到我古老的 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
控制台窗口上的批处理文件提供的文件名,然后在批处理结束时保持窗口打开,直到打开的窗口收到击键。
请报告“工作”和“错误”安装的结果。
推荐阅读
- django - 搜索控制器在 Django 中获取错误的模板
- python - 没有名为“pyrebase”的模块
- python-3.x - 在函数中使 vars() 定义的变量成为全局变量
- python - 如何让机器人告诉用户它的错误?不和谐.py
- javascript - JavaScript / Node.JS 如何从 JSON 数组中获取项目作为字符串?
- c# - StackExchange.Redis -> 执行 XREADGROUP 超时
- sql - 如何从每个国家/地区提取前 10 位亿万富翁
- nearprotocol - 如何在不使用时间戳的情况下获取时间间隔?
- javascript - 如何不断检查 iframe 是否包含指定的类或 id
- mysql - 需要通过比较两个表来显示 Total Customer 的 MAX COUNT