在Excel文件中搜索字符串

时间:2013-06-19 16:14:16

标签: powershell powershell-v2.0

我基本上打算编写一个脚本来检查网络上特定文件中是否存在某个字符串,并返回0或1。

基本上是这样的:

If "C:\myfile.xls" exists THEN
  If "C:\myfile.xls" contains string "no data found" THEN
    Return 0
  ELSE
    Return 1
ELSE
  Return 0
END

这可能吗?非常感谢提前!!

我相信我正在运行v2.0

Name                           Value
----                           -----
CLRVersion                     2.0.50727.5466
BuildVersion                   6.1.7601.17514
PSVersion                      2.0
WSManStackVersion              2.0
PSCompatibleVersions           {1.0, 2.0}
SerializationVersion           1.1.0.1
PSRemotingProtocolVersion      2.1

1 个答案:

答案 0 :(得分:1)

除非您希望答案是“是”或“否”,否则不应该问是/否问题。在你的情况下它是“是”,但你需要在主机上安装Excel:

function Check-File($filename) {
  $found = 0

  if ( Test-Path -LiteralPath $filename ) {
    $xl = New-Object -COM "Excel.Application"
    $wb = $xl.Workbooks.Open($filename)
    if ( [bool]$xl.Cells.Find("no data found") ) { $found = 1 }
    $wb.Close()
    $xl.Quit()
  }

  $found
}

Check-File "C:\myfile.xls"