杀死当前被锁定的文件(没有管理员权限)

时间:2014-06-06 16:10:37

标签: vba ms-access powershell ms-office

我想使用VBA或PowerShell来杀死当前被锁定的文件(因为其他用户已将其打开)。

即使我没有管理员权限,有没有办法做到这一点?有1337名黑客可以帮助我吗?

这是VBA中的基本设置,但是当我尝试终止打开的文件时,我收到permission denied错误。

Function fn_testKILL()

    'load INI data
    fn_ReadINI


    'read files from iDumpFolder
    Dim fs          As Object
    Set fs = CreateObject("Scripting.FileSystemObject")
    Dim objFolder   As Object
    Set objFolder = fs.GetFolder(iDumpFolder)
    Dim objFile     As Object

    For Each objFile In objFolder.files
        ' is the file open? if yes, kill file.
        If Not FileLocked(objFolder & "\" & objFile.Name) Then
            'file is locked
            'do nothing
        Else
            'file is locked
            Kill objFile
            'or if this is not possible with VBA, trigger PS1 execution
        End If

    Next 'objFile

    'Cleanup
    Set objFolder = Nothing
    Set objFile = Nothing
    Set fs = Nothing

End Function

1 个答案:

答案 0 :(得分:3)

如果kill表示你想要删除一个锁定的文件,那你就不走运了。操作系统的基本存在理由之一是防止用户A弄乱用户B的东西。

如果您确实拥有权限,则可以终止锁定文件的进程或文件句柄。看看Sysinternals' toolkitHandle.exe可用于关闭文件句柄。