编辑:感谢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++
}
非常感谢任何帮助!
由于
答案 0 :(得分:0)
我认为这个问题与global:
前缀的不一致使用有关。
您将$i
初始化为局部变量,然后使用并将其递增为$global:i
。似乎全局永远不会被初始化。除非你有特殊的理由使用它,否则我只会删除global:prefix。