如何检查字符串是否在字符串列表中

时间:2016-03-08 18:33:26

标签: csv powershell output

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

这是我的脚本

var linkField = "internalColumnName";
var listName = "List Title";
var clientContext = new SP.ClientContext();
var list = clientContext.get_web().get_lists().getByTitle(listName);
var camlQuery = new SP.CamlQuery();
var items = list.getItems(camlQuery);   
clientContext.load(items);
clientContext.executeQueryAsync(Function.createDelegate(this,function(){ 
    var itemEnumerator = items.getEnumerator();
    while(itemEnumerator.moveNext()){   
        var item = itemEnumerator.get_current(); 
        var url = item.get_item(linkField).get_url(); // <-- Get URL
        var text = item.get_item(linkField).get_description(); // <-- Get Text
        alert(url + ", " + text);
    }     
}),Function.createDelegate(this,function(sender, args){alert(args.get_message());}));

该脚本旨在询问用户他们想知道哪些主机以及何时首次修改它,如果主机名不存在则吐出它不存在。 无论我做什么都不断吐出主机名不存在。

以下是我的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

1 个答案:

答案 0 :(得分:2)

尝试使用此错误条件:

$spellingerror = $hostid -notin $data.hostname