C#:PATH环境变量

时间:2017-02-06 14:28:06

标签: c# path environment

我遇到问题,我已编写代码将批处理文件安装到注册表和高级设置下的PATH,因此可以在右键菜单下使用。

直到我点击此右键单击项目才有效。之后它只显示一个毫秒的窗口(我不知道哪一个)并且没有发生。

批处理文件正在运行(我对其进行了测试)。我还检查了注册表项(它是100%正确的,就像我手动执行时一样)。所以剩下的就是高级系统设置下的PATH ......

首先是代码:

Environment.SetEnvironmentVariable(
    "PATH", 
    Environment.GetEnvironmentVariable("PATH") + ";" + 
        Path.GetPathRoot(Environment.SystemDirectory) + "FastAndDelete\\",
    EnvironmentVariableTarget.Machine);**

RegistryKey reg = Registry
    .ClassesRoot.OpenSubKey("Directory", true)
    .OpenSubKey("shell", true);
reg.CreateSubKey("FastAndDelete");
reg.OpenSubKey("FastAndDelete", true)
    .CreateSubKey("command")
    .SetValue("", "cmd /c " + '“' + "cd %1 && fastdel.bat" + '”');
reg.Close();

我也试过

Environment.SetEnvironmentVariable(
    "PATH", 
    Environment.GetEnvironmentVariable("PATH") + ";" + 
        Path.GetPathRoot(Environment.SystemDirectory) + 
        "FastAndDelete\\;", 
    EnvironmentVariableTarget.Machine);

Environment.SetEnvironmentVariable(
    "PATH", 
    Environment.GetEnvironmentVariable("PATH") + ";" + 
        Path.GetPathRoot(Environment.SystemDirectory) + 
        "FastAndDelete\\fastdel.bat", 
    EnvironmentVariableTarget.Machine);

Environment.SetEnvironmentVariable(
    "PATH", 
    Environment.GetEnvironmentVariable("PATH") + ";" + 
        Path.GetPathRoot(Environment.SystemDirectory) + 
        "FastAndDelete\\fastdel.bat;", 
    EnvironmentVariableTarget.Machine);

我也尝试过没有&#34 ;;"在开始时,但没有任何帮助。

有人知道我做错了吗?

0 个答案:

没有答案