gpt4 book ai didi

c# - 进程锁定文件夹

转载 作者:行者123 更新时间:2023-11-30 22:23:27 25 4
gpt4 key购买 nike

情况很奇怪。有2个应用:

1) C:\MyFolder1\First.exe

2) C:\MyFolder2\Second.exe

First.exe 运行 Second.exe 并退出。

Process.Start(@"C:\MyFolder2\Second.exe");

// And exit.

Seconds.exe 等待几秒钟并尝试删除“C:\MyFolder1\”文件夹。

// Wait for 5 seconds - First.exe terminated by that time for 100%

Directory.Delete(@"C:\MyFolder1\", true);

操作失败,显示“该进程无法访问文件‘C:\MyFolder1\’,因为它正被另一个进程使用。”它能够删除 First.exe 文件(实际上是文件夹中的所有文件),但不能删除文件夹本身。

有人知道为什么文件夹被第二个进程锁定了吗?

最佳答案

一个进程有一个默认的工作目录。您使用 ProcessStartInfo.WorkingDirectory 设置其初始值。您不能猛拉那个地垫,它会一直锁定该目录,直到进程终止或它使用 Environment.CurrentDirectory 更改其工作目录。 Second.exe 的默认工作目录是 C:\MyFolder1,因为您没有设置它。

关于c# - 进程锁定文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13372094/

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