【问题标题】:How to check if a string is in a list of strings如何检查字符串是否在字符串列表中
【发布时间】:2016-03-08 18:33:25
【问题描述】:

当有人从 CSV 文件输入错误的主机名时,我试图让我的脚本输出错误。

这是我的脚本

#get content from file
$data= import-csv ".\Earliest Date Template.csv"

#which Hostname do you want to look up
$hostid=Read-Host "Please enter Hostname"

#Error Conditions
$spellingerror=$hostid -notmatch "Hostname"

if ($spellingerror) 
  {Write-Host -foregroundcolor Green "Hostname does not exist"}
else
  {$data | Sort-Object {[DateTime]$_."Last Modified"} |   
  Where-Object   {$_."Hostname" -eq $hostid} |  Select -First 1 -       
  ExpandProperty "Last Modified"
  }
Break

该脚本旨在询问用户他们想了解哪个主机以及首次修改的时间以及如果主机名不存在则吐出它不存在。 不管我做什么它总是吐出主机名不存在。

这是我的 CSV 文件内容中的一个示例。

Hostname    Last Modified
HD          9/8/2012
LOG         9/15/2004
NETMAN     12/25/2004
NETMAN      5/5/2015
LOG        2/14/2013
LOG        6/6/2011

【问题讨论】:

    标签: csv powershell output


    【解决方案1】:

    尝试使用此错误条件:

    $spellingerror = $hostid -notin $data.hostname
    

    【讨论】:

    • PS 3.0 前:($data | % { $_.Hostname}) -notcontains $hostid
    猜你喜欢
    • 2013-01-09
    • 1970-01-01
    • 2013-04-29
    • 2015-05-31
    • 2011-06-18
    • 2015-05-05
    • 2018-06-06
    • 1970-01-01
    相关资源
    最近更新 更多