gpt4 book ai didi

c# - 使用 Winform C# ,删除 exe 所在的文件夹

转载 作者:太空宇宙 更新时间:2023-11-03 19:48:58 25 4
gpt4 key购买 nike

我有一个 winform exe,它删除了一个应用程序和该应用程序具有的所需文件夹。但我也想删除 winform 根文件夹。那么有没有一种方法可以这样做,因为我被告知无法删除其中运行 exe 的文件夹。那么是否有任何 TEMP 路径或类似的东西我可以复制卸载程序以便它删除安装根文件夹以及它本身在过程完成后被删除。

谢谢

最佳答案

您可以运行一个不可见的 CMD 实例来为您删除:

ProcessStartInfo psi = new ProcessStartInfo("cmd.exe", 
String.Format("/k {0} & {1} & {2}",
"timeout /T 1 /NOBREAK >NUL",
"rmdir /s /q \"" + Application.StartupPath + "\"",
"exit"
)
);

psi.UseShellExecute = false;
psi.CreateNoWindow = true;
psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;

Process.Start(psi);

当你的应用程序即将关闭时执行上面的代码,它会删除它所在的目录。

使用的命令:

timeout /T x /NOBREAK >NUL
- Wait for a certain amount of time.
/T x - Wait for x seconds.
/NOBREAK - Specifies that it shouldn't be interrupted by pressing Space or Enter.
>NUL - Don't output any messages to the console.

rmdir /s /q <path>
- Removes the directory <path>.
/s - Remove subfiles and subdirectories.
/q - Don't ask for confirmation.

exit
- Closes the CMD instance

重要提示:真的使用它时要小心,因为它会删除整个目录,不管里面有什么!

关于c# - 使用 Winform C# ,删除 exe 所在的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41922322/

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