只读后设置为false的只读文件

时间:2015-03-23 17:54:46

标签: c# fileinfo

我正在尝试使用以下代码删除只读文件。

var fileInfo = new FileInfo(saveLocation);
fileInfo.IsReadOnly = false;
fileInfo.Delete();

当它到达第三行时,抛出以下异常

  

消息:进程无法访问文件'\\ filepath \ filename.pdf',因为它正由另一个进程使用。

注意:\\ filepath \ filename.pdf不是实际的文件路径,我只是用它来替换更长的路径

我已经检查了文件,在代码运行之前,它被设置为只读,并且在代码运行之后,它已不再存在。

我认为当文件以只读方式打开时,我认为它不被使用?我很确定微软办公文件是.xlsx文件,但也许不适用于PDF?

最终,我的目标是能够将此文件的更新版本推送到共享位置,即使某些用户在其计算机上打开了该文件,这也是我最初将其设置为只读的原因。

1 个答案:

答案 0 :(得分:1)

  

消息:进程无法访问文件'\ filepath \ filename.pdf',因为它正由另一个进程使用。

这与只读文件不同。

您可以在代码中找到哪个进程正在锁定文件

https://stackoverflow.com/a/20623311/141172

您也可以从命令行中找到

<强>更新

根据您的评论,您似乎可能希望在处理文件期间对文件进行独占锁定

open file in exclusive mode in C#

Command-line tool for finding out who is locking a file