如何有目的地独占锁定一个文件?

如何有目的地独占锁定一个文件?

我想对文件保持独占锁定,以便其他任何文件都无法读取或写入。是否有简单的 Windows 工具或命令可以执行此操作?

我认为该工具或实用程序将实现锁定文件Windows 功能。

笔记:我曾尝试使用 Notepad 和 Notepad++ 等文本编辑器处理文本文件,但它们并没有对其进行独占锁。

答案1

尝试简易文件柜(免费软件)。

在此处输入图片描述

答案2

更简单的解决方案:在感兴趣的目录中从 cmd 行运行:

notepad >filetolock

作为重定向的标准输出,它将保持锁定状态,直到应用程序(记事本)终止。

请注意,“filetolock” 将被重定向覆盖,因此您可能不想使用任何重要的现有文件。空的“filetolock”对您尝试测试的应用程序无关紧要,因为应用程序无论如何都无法打开它。

答案3

锁定文件无需第三方工具文件没有变化被锁定并且文件甚至无法复制

该 PowerShell 脚本是对类似问题的答案的引用。

# Specify the file name
$fileName = "C:\myfile.txt"

# Open the file in read only mode, without sharing (I.e., locked as requested)
$file = [System.io.File]::Open($fileName, 'Open', 'Read', 'None')

# Wait in the above (file locked) state until the user presses a key
Write-Host "Press any key to continue ..."
$null = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

# Close the file
$file.Close()

编辑:引用一个非常有用的评论:

在测试时我发现你也可以使用

[System.io.File]::Open('c:\myfile.txt', 'Open', 'Read', 'None') 

这将使文件保持打开状态,直到您关闭 PowerShell

答案4

文件锁是一个免费软件/开源命令行工具。

用法:

FileLocker [/T LockTime] [/I] [/K] [/Q] file [file...]

/T LockTime     Time in milliseconds to lock the file
/I              Infinite locking until process is killed (default)
/K              Lock file until key is pressed
/Q              Be quiet.

相关内容