gpt4 book ai didi

.net - 如何检查文件是否正在被另一个进程使用-Powershell

转载 作者:行者123 更新时间:2023-12-04 13:14:34 26 4
gpt4 key购买 nike

我正在尝试找到一种解决方案,该解决方案将检查另一个进程是否正在使用文件。我不想读取文件的内容,因为在7GB的文档中,这可能需要一段时间。目前,我正在使用下面提到的函数,该函数并不理想,因为脚本大约需要5-10分钟来检索值。

function checkFileStatus($filePath)
{
write-host (getDateTime) "[ACTION][FILECHECK] Checking if" $filePath "is locked"

if(Get-Content $filePath | select -First 1)
{
write-host (getDateTime) "[ACTION][FILEAVAILABLE]" $filePath
return $true
}
else
{
write-host (getDateTime) "[ACTION][FILELOCKED] $filePath is locked"
return $false
}
}

任何帮助将不胜感激

最佳答案

创建了一个解决上述问题的函数:

 function checkFileStatus($filePath)
{
write-host (getDateTime) "[ACTION][FILECHECK] Checking if" $filePath "is locked"
$fileInfo = New-Object System.IO.FileInfo $filePath

try
{
$fileStream = $fileInfo.Open( [System.IO.FileMode]::Open, [System.IO.FileAccess]::Read, [System.IO.FileShare]::Read )
write-host (getDateTime) "[ACTION][FILEAVAILABLE]" $filePath
return $true
}
catch
{
write-host (getDateTime) "[ACTION][FILELOCKED] $filePath is locked"
return $false
}
}

关于.net - 如何检查文件是否正在被另一个进程使用-Powershell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9394629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com