Так что у меня есть сценарий PowerShell, который после многих головных болей я начал работать. Т.е. удаляет файлы, которые мне больше не нужны, и все отлично. Только одна проблема, он удалит файл независимо от того, открыт он другой программой или нет, что плохо. Мой код выглядит следующим образом:
# Change the value $oldTime in order to set a limit for files to be deleted.
$oldTime = [int]30 # 30 days
foreach ($path in Get-Content "pathList.txt") {
# Write information of what it is about to do
Write-Host "Trying to delete files older than $oldTime days, in the folder $path" -ForegroundColor Green
# deleting the old files
Get-ChildItem $path -Recurse -filter "*EDI*" | WHERE {$_.LastWriteTime -le $(Get-Date).AddDays(-$oldTime)} | Remove-Item -Force
Мне просто нужен сценарий, чтобы увидеть, что файл открыт, пропустить указанный файл и двигаться дальше. Я использую PowerShell 2.0 на Windows 7 SP1.