我是Powershell脚本编写的新手,但我觉得我忽略了一个简单的答案,希望有些人能够提供帮助。通过Powershell抓取一个txt文件的特定部分
我公司通过映射网络打印机中间部分导出来自我们所有计算机的文件。它看起来是这样的:
-------------------------------------------------------------------------
Mapped Network Printers:
NetworkAddress\HP425DN [DEFAULT PRINTER]
-------------------------------------------------------------------------
Local Printers:
我被要求做的是复制只是映射网络打印机到一个新的文本文件。
我尝试使用选择字符串与上下文参数,但我无法知道有多少网络打印机,所以我不能猜测。
我也尝试使用下面的代码,我在此网站上发现,但它没有返回值:
$MapPrint = gc C:\Users\User1\Documents\Config.txt
$from = ($MapPrint | Select-String -pattern "Mapped Network Printers:" |
Select-Object LineNumber).LineNumber
$to = ($MapPrint | Select-String -pattern "-------------------------------
--------------------------------------------" | Select-Object
LineNumber).LineNumber
$i = 0
$array = @()
foreach ($line in $MapPrint)
{
foreach-object { $i++ }
if (($i -gt $from) -and ($i -lt $to))
{
$array += $line
}
}
$array
我基本上要开始在“映射网络打印机”的搜索,并在下一行结束它“------”
任何帮助将不胜感激。