C# 使用Winform C,删除exe所在的文件夹
我有一个winform exe,可以删除应用程序和应用程序所需的文件夹。但是我也想删除winform根文件夹。所以,有没有一种方法可以做到这一点,因为我被告知它不可能删除其中运行的exe文件夹。因此,是否有任何临时路径或类似的地方,我可以复制卸载程序,以便它删除安装根文件夹,并在过程完成后将其自身删除C# 使用Winform C,删除exe所在的文件夹,c#,.net,winforms,C#,.net,Winforms,我有一个winform exe,可以删除应用程序和应用程序所需的文件夹。但是我也想删除winform根文件夹。所以,有没有一种方法可以做到这一点,因为我被告知它不可能删除其中运行的exe文件夹。因此,是否有任何临时路径或类似的地方,我可以复制卸载程序,以便它删除安装根文件夹,并在过程完成后将其自身删除 谢谢您可以运行一个不可见的CMD实例来为您执行删除操作: ProcessStartInfo psi = new ProcessStartInfo("cmd.exe", String.Fo
谢谢您可以运行一个不可见的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);
在应用程序即将关闭时执行上述代码,它将删除它所在的目录
使用的命令包括:
超时/T x/NOBREAK>NUL
-等待一定的时间。
/T x-等待x秒。
/NOBREAK-指定不应通过按空格或Enter键来中断。
>NUL-不向控制台输出任何消息。
rmdir/s/q
-删除目录。
/s-删除子文件和子目录。
/q-不要要求确认。
出口
-关闭CMD实例
重要提示:使用时要特别小心,因为它将删除整个目录,无论其中包含什么 您可以运行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);
在应用程序即将关闭时执行上述代码,它将删除它所在的目录
使用的命令包括:
超时/T x/NOBREAK>NUL
-等待一定的时间。
/T x-等待x秒。
/NOBREAK-指定不应通过按空格或Enter键来中断。
>NUL-不向控制台输出任何消息。
rmdir/s/q
-删除目录。
/s-删除子文件和子目录。
/q-不要要求确认。
出口
-关闭CMD实例
重要提示:使用时要特别小心,因为它将删除整个目录,无论其中包含什么 有临时路径吗嗯,是吗?您要删除的应用程序应该有一个卸载程序,这应该被起诉。或者用户应该在运行您的应用程序之前关闭已删除的应用程序。现在看来,你正在做一些用户不想做的事情,删除了当前正在使用的一个应用程序。解释为什么你的行为是合法的。@RemusRusanu实际上我做了一个应用程序,它执行一些功能。现在我想有一个卸载程序。所以我在同一个exe中对安装程序和卸载程序进行了编程。所以我在删除文件时被困在了这一部分。视觉文森特的回答帮助了我。有临时路径吗,嗯,是的?您要删除的应用程序应该有一个卸载程序,这应该被起诉。或者用户应该在运行您的应用程序之前关闭已删除的应用程序。现在看来,你正在做一些用户不想做的事情,删除了当前正在使用的一个应用程序。解释为什么你的行为是合法的。@RemusRusanu实际上我做了一个应用程序,它执行一些功能。现在我想有一个卸载程序。所以我在同一个exe中对安装程序和卸载程序进行了编程。所以我在删除文件时被困在了这一部分。视觉回答帮助了我。@AnkurRai:我很高兴我能帮上忙!祝你的项目好运@安库赖:我很高兴能帮上忙!祝你的项目好运!