powershell脚本,用于启动第二个脚本

时间:2015-02-05 18:29:56

标签: powershell

这是代码;

Get-Content -path c:\batchjobs\location\test.log -pattern -lt "2" > sleep -seconds (60) elseif -pattern -gt "2" | C:\batchjobs\location\output.txt

我需要做的就是打开/启动output.txt文件,这将在满足模式条件时发送电子邮件。

非常感谢任何帮助

2 个答案:

答案 0 :(得分:0)

假设 test.log 的全部内容是一个单独的数字,用填充空格和空行,那么你可以做

if (((Get-Content .\test.log) -join '').Trim() -gt 2) { .\my_script.ps1 }

如果您需要用于解析脚本的实际数字,那么您需要更像

的内容
$x = ((Get-Content .\test.log) -join '').Trim();
if ($x -gt 2)
{
    .\my_script.ps1 $x
}

如果您需要在一行中,例如从非PowerShell命令行使用powershell -Command,则可以删除换行符:

$x = ((Get-Content .\test.log) -join '').Trim(); if ($x -gt 2) { .\my_script.ps1 $x }

答案 1 :(得分:0)

这可能会更安全一些。这会将结果数存储在$ x中。由于某种原因,文件的内容包含无法解析为整数的字符,$ x将包含0,$ parsedOk将为$ false。

$x=$null
$parsedOk = [int64]::TryParse($(gc .\test.log),[ref]$x)
if($parsedOk -and $x -gt 2){
    .\my_script.ps1 $x
}