Powershell - 标签制作脚本

时间:2016-09-23 22:19:20

标签: powershell printing

编辑:感谢Jason Boyd,他解释说$i$counter是分开的,所以即使$i增加,$counter也不会,因为它总是会引用它在0.我更改了代码,因此$i是我的起始值,然后递增$counter。这样做可以让一切都运转正常。

我是Powershell的新人(4小时前开始)。我正在尝试创建一个小脚本,将用户输入和输出转移到文件,然后将该文件打印到标签打印机。从目前的测试来看,除了增量计数器外,我还能完成所有工作。它似乎永远不会超过0因此导致无限的打印循环。我想要增量,因为如果我有10个托盘的产品我想要10个标签,读取“10 of 10”到“10 of 10”我已经研究了大约一小时,并尝试了一些建议,他们似乎没有上班。这是我现在只使用通用名称的脚本(对于帖子格式很抱歉):

$i = 0
$counter = $global:i + 1


Write-Host "========== Print Comapny Labels =========="
Write-Host "Question will be on the left, type in answer and hit ENTER"

$location = Read-Host "Which location? (LOC1 or LOC2)"
$pro = Read-Host "What is the Pro#?"
$quote = Read-Host "What is the quote number?"
$pallet = Read-Host "How many pallets are there?"
$printer = Read-Host "What printer do you want?"

While ($counter -le $pallet)
{
    Set-Content -Path "C:\temp\Label.txt" -Value "^XA^MCY^XZ^XA^SZ2^MMT^MTT~JSN^LT0^MD0^MNY^PR5^PON^PMN^CI0^LRN
                                  ^FT300,1300^A0B,350,160^FDPRO #: $pro^FS
                                  ^FT480,1300^A0B,175,150^FD$location^FS
                                  ^FT480,900^A0B,175,100^FDQuote #: $quote^FS
                                  ^FT800,1300^A0B,350,225^FDPallet $counter of $pallet^FS
                                  ^PQ01~*QUANT,04~,0,~*COPIES,04~,N^MCY^XZ"

    Get-Content -Path "C:\temp\Label.txt" | Out-Printer -Name "$printer"

    $global:i++
}

非常感谢任何帮助!

由于

1 个答案:

答案 0 :(得分:0)

我认为这个问题与global:前缀的不一致使用有关。

您将$i初始化为局部变量,然后使用并将其递增为$global:i。似乎全局永远不会被初始化。除非你有特殊的理由使用它,否则我只会删除global:prefix。