У меня есть кнопка в моем приложении wpf, которая запускает cmd тайм-аута перед выполнением другого набора команд. Проблема в том, что мне нужно порождать этот процесс в другой папке, чтобы я мог удалить папку, в которой находится мое приложение WPF.
Я могу удалить все файлы в указанной папке, включая приложение wpf, но сама папка остается заблокированной, поскольку внутри нее появляются скрытые процессы cmd.
Я пытался добавить рабочий каталог, но, похоже, не работает. По-прежнему порождает процессы в одном и том же месте.
public void HiddenProcess(string processName, string commandLineArgs)
{
Process process = new Process();
process.StartInfo.FileName = processName;
process.StartInfo.Arguments = commandLineArgs;
process.StartInfo.CreateNoWindow = false;
process.StartInfo.ErrorDialog = false;
process.StartInfo.UseShellExecute = true;
process.StartInfo.WorkingDirectory = @"%Documents%";
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.Start();
}
private void Rtvp_Click(object sender, RoutedEventArgs e)
{
HiddenProcess("cmd", "/c mkdir %USERPROFILE%\\Documents\\tasks");
HiddenProcess("cmd", "/c attrib +h %USERPROFILE%\\Documents\\tasks /s /d");
HiddenProcess("cmd", "/c timeout -t 600 /nobreak&" + somecommand)
}
Я хочу знать, можно ли что-либо сделать, чтобы любой процесс, запущенный методом HiddeProcess, можно было запустить в другой папке.