C# 如何为新进程设置AppData文件夹?

C# 如何为新进程设置AppData文件夹?,c#,process,environment-variables,C#,Process,Environment Variables,我想启动一个新进程,但我需要它为AppData使用不同的文件夹。在windows批处理文件中,您可以这样做: set-APPDATA=C:\MyDataFolder 它将为批处理文件中启动的任何程序设置AppData,因此如何在C#?中执行此操作 根据MSDN: 创建、修改或删除存储在中的环境变量 当前进程 当前流程是我脑海中最重要的一个词…: 根据MSDN: 创建、修改或删除存储在中的环境变量 当前进程 当前进程是操作词…您可以转到ProcessStartInfo: ProcessStartI

我想启动一个新进程,但我需要它为
AppData
使用不同的文件夹。在windows批处理文件中,您可以这样做:

set-APPDATA=C:\MyDataFolder

它将为批处理文件中启动的任何程序设置
AppData
,因此如何在C#?

中执行此操作

根据MSDN:

创建、修改或删除存储在中的环境变量 当前进程

当前流程是我脑海中最重要的一个词…

根据MSDN:

创建、修改或删除存储在中的环境变量 当前进程

当前进程是操作词…

您可以转到
ProcessStartInfo

ProcessStartInfo p = new ProcessStartInfo("some_executable.exe");
p.UseShellExecute = false; // apparently required when adding environment variables
p.EnvironmentVariables.Add("APPDATA", @"C:\MyDataFolder");
Process.Start(p);
您可以转到
流程startInfo

ProcessStartInfo p = new ProcessStartInfo("some_executable.exe");
p.UseShellExecute = false; // apparently required when adding environment variables
p.EnvironmentVariables.Add("APPDATA", @"C:\MyDataFolder");
Process.Start(p);

@t27o:
p
是一个直接包含这些属性的
ProcessStartInfo
对象。您是否将其与
进程
类混淆?@t27o:
p
是一个直接包含这些属性的
ProcessStartInfo
对象。您是否将它与
过程
类混淆了?