C#:路径环境变量
我有一个问题,我已经编写了一个代码,将批处理文件安装到注册表和“高级设置”下的路径中,这样就可以在右键单击菜单下使用它 它会一直工作,直到我点击这个右键点击的项目。在那之后,它只显示一个窗口一毫秒(我不知道是哪一个),什么都没有发生 批处理文件正在工作(我测试了它)。我还检查了注册表项(它是100%正确的,就像我手动操作时一样)。所以唯一剩下的就是高级系统设置下的路径 首先是守则:C#:路径环境变量,c#,path,environment,C#,Path,Environment,我有一个问题,我已经编写了一个代码,将批处理文件安装到注册表和“高级设置”下的路径中,这样就可以在右键单击菜单下使用它 它会一直工作,直到我点击这个右键点击的项目。在那之后,它只显示一个窗口一毫秒(我不知道是哪一个),什么都没有发生 批处理文件正在工作(我测试了它)。我还检查了注册表项(它是100%正确的,就像我手动操作时一样)。所以唯一剩下的就是高级系统设置下的路径 首先是守则: Environment.SetEnvironmentVariable( "PATH", Envi
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);
及
及
我一开始也试过不带“;”的,但没有任何帮助
有人知道我做错了什么吗?你确定它不起作用吗?如果您正在运行的是一个bat文件,它将在运行时显示一个命令窗口,然后关闭,因此如果执行速度很快,您将看到您正在描述的效果出于兴趣为什么是批处理文件而不在c#中执行删除操作?您在注册表中输入的智能引号字符看起来可疑“cmd/c”+”“+…+”。尝试用哑引号“cmd/c”+“+…+”“‘是的,你在哪里?/“cmd/c”+”“+…+””。尝试用哑引号“cmd/c”+“+…+””替换它们“//。我从网站上复制了这段代码,只是添加了nessecary代码,以便打印出来。所以这是网站上的错误…我看了几个小时这段代码,想我做错了什么-非常感谢much@Joe我怎样才能对你的评论投赞成票?
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);