我想编写一个批处理脚本,它将轮询一个Windows目录一段时间限制,并在文件放入目录后立即选择一个文件。 如果文件未在该时间范围内放置在该目录中,它也会在一定时间后超时。
我还想解析xml文件并检查状态。
答案 0 :(得分:2)
这是一个PowerShell脚本,可以完成您的要求。
$ content 变量将存储文件的内容(它实际上是一个行数组,因此您可以将它放入foreach循环中)。
$file = 'C:\flag.xml'
$timeout = New-TimeSpan -Minutes 1
$sw = [diagnostics.stopwatch]::StartNew()
while ($sw.elapsed -lt $timeout)
{
if (Test-Path $file)
{
"$(Get-Date -f 'HH:mm:ss') Found a file: $file"
$content = gc $file
if ($content -contains 'something interesting')
{
"$(Get-Date -f 'HH:mm:ss') File has something interesting in it!"
}
break
}
else
{
"$(Get-Date -f 'HH:mm:ss') Still no file: $file"
}
Start-Sleep -Seconds 5
}