【问题标题】:How to get escape characters to behave through sql server's xp_cmdshell with command with Caret如何使用带有 Caret 的命令通过 sql server 的 xp_cmdshell 获取转义字符
【发布时间】:2019-05-17 18:18:37
【问题描述】:

我正在尝试使用带有变量和网络打印机的 ZPL 从 SQL Server 存储过程打印到标签打印机

我测试了 ZPL 以确保它正常工作,然后学习了如何通过 PowerShell 脚本将其传递给正确的网络打印机并使其正常工作,但我在尝试让命令运行时遇到了困难在 SQL 服务器的 xp_cmdshell 中。

DECLARE @Pickloc varchar(6) 
DECLARE @powershell varchar(2000)
print @powershell
set @Pickloc = 'PCK002'
set @powershell = 'powershell.exe  -command """"^XA ^LH0,50^FS ^PR4,4 ^LL2233 ^CI0^FT20,15^A0N,20,20^FDBACKSTOCK^FS ^CI0^FT180,30^A0N,65,65^FDPick Loc: PCK002^FS ^FO50,50^GB700,1,3^FS ^CI0^FT50,114^A0N,65,65^FDSKU: 91007419^FS ^CI0^FT50,184^A0N,65,65^FDBackstock Loc: FL0002^FS ^FO50,200^GB700,1,3^FS ^CI0^FT50,270^A0N,48,48^FDDriver: Driver^FS ^CI0^FT50,330^A0N,48,48^FDFrom Loc: ABC001^FS ^CI0^FT475,330^A0N,48,48^FDTAG: T123456^FS ^XZ""" | Out-Printer -NAME """\\PrintServer\MyPrinter"""""'

print @powershell

EXEC master..xp_cmdshell @powershell

我希望将字符串传递给 PowerShell 并打印 ZPL。 我遇到了我认为 Windows cmd 的转义字符“^”的问题 我还想在 ZPL 中传递变量 @Pickloc,但我无法先通过这部分。

【问题讨论】:

    标签: sql-server powershell tsql zpl xp-cmdshell


    【解决方案1】:

    我从来没有得到答案,但我没有通过 xp_cmdshell 将 zpl 注入到 powershell 命令中,而是使用带有变量的 zpl 创建一个文本文件,然后在 powershell 中调用该文件。自动

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-27
      • 1970-01-01
      • 1970-01-01
      • 2015-08-16
      相关资源
      最近更新 更多