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
4

1 回答 1

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"
于 2013-06-19T18:05:43.350 回答