【发布时间】:2018-07-03 09:52:31
【问题描述】:
我正在尝试编写一个 PowerShell 脚本来获取 csv 文件的 2 列:
ProductName ProductCode
-----------------------------------------------------------
Java 7 Update 67 {26374892-xxxx-xxxx-xxxx-123456789012}
Java 8 Update 25 {26374892-xxxx-xxxx-xxxx-902341562789}
我只想获取 ProductCode 列值以在 foreach 循环中使用。
我尝试了以下方式
$code1 = Get-Contect %path% | Foreach-Object {
$_ -split '\s+' | Select-object -skip 1 | Select-Object -Last 1
}
foreach($code in $code1){ write-host $code }
我的输出低于输出
67,{232424-55567-8879-xxxxxxx}
25,{324356456-5674-xxxx-xxxxxx}
但我只想输出像
这样的产品代码{3245345345-3454-56656757-xxxxx}
【问题讨论】:
-
我尝试了以下方式 $code1 = Get-Contect %path% | Foreach 对象 { $_ -split '\s+' |选择对象-skip 1 | Select-Object -Last 1 } foreach($code in $code1){ write-host $code } 我低于输出 67,{232424-55567-8879-xxxxxxx} 25,{324356456-5674-xxxx-xxxxxx}但我只想输出产品代码,如 {3245345345-3454-56656757-xxxxx}
-
请将其添加到您的问题中以提高可读性
-
上面的代码对我来说是正确的(除了你需要在
foreach之前使用| Select-object -skip 1)。您确定您在问题中提供的格式正是您文件中的格式吗?请尝试在Notepad++中打开它并使用View > Show symbol > Show all characters(或使用任何其他程序来检查您的文件中有哪些字符)。
标签: powershell