![为什么不能在 Windows 中更改打开文件的名称?](https://linux22.com/image/1609053/%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%8D%E8%83%BD%E5%9C%A8%20Windows%20%E4%B8%AD%E6%9B%B4%E6%94%B9%E6%89%93%E5%BC%80%E6%96%87%E4%BB%B6%E7%9A%84%E5%90%8D%E7%A7%B0%EF%BC%9F.png)
我需要经常更改文件名,但 Windows 不允许在打开文件时更改它们。我知道我可以退出并重命名文件,或者用其他名称另存为,但这似乎是糟糕的设计。
有人知道更好的解决方法吗?
答案1
你的前提是错误的。如果文件是故意锁定这是许多操作系统(包括 Linux 和 Windows)的一项功能,用于防止在尝试写保存到一个文件。
然而,许多应用程序,例如记事本++(NPP),可以打开文件只读,不需要锁定。自己测试一下:在 NPP 中打开一个文件,并在文件保持打开状态的情况下重命名它。
为了您的启迪,您可以仔细阅读Windows OpenFile 常量, 例如:
- 读写- 打开具有读写权限的文件。
- 拒绝共享- 打开一个文件但允许其他进程读写访问。
- 共享独占- 打开一个文件,拒绝其他进程的读写访问。