在PowerShell中的特殊字符后修剪CSV文件中的数据

时间:2014-07-15 23:43:37

标签: sql-server powershell csv trim

我正在尝试从csv文件读取数据我使用的是Import-csv cmdlet。此csv文件具有SQL Server数据,实例名称如下所示

Instance

Test

Test1\002

Test2

Test3\001

我想修剪实例名称并从csv文件中只读取服务器名称。寻求实现这一目标的帮助。

我正在准备一份包含SQL Server服务详细信息的报告:

我的脚本如下

$InputFile = Import-Csv "C:\Test\SQLInstance.csv"

foreach($Servers in $Inputfile)
{
Write-Host "ServerName:" $Servers.instance
Get-WmiObject win32_service  -ComputerName $Servers.instance  | Select Name, Startmode, State  | Where-Object `
{$_.name -like "*SQL*" -and $_.Startmode -match "Auto" -and $_.state -match "Stopped"} | FT -AutoSize
}

1 个答案:

答案 0 :(得分:0)

您应该使用-replace运算符和正则表达式测试来测试删除尾随字符:

"test\001" -replace '\\.*$',''
"test1" -replace '\\.*$',''

所以你可以写:

$serverName = $Servers.instance -replace '\\.*$',''