提问者:小点点

如何通过运行命令打开一个完全命名为环境变量名的文件夹?


由于我正在开发一个C#.NET应用程序,其中一部分模仿Windows运行命令,所以我正在用它做一些实验。 我在。。。AppData\Local\Temp文件夹中有一个名为%UserDomain%的文件夹,我想通过Windows运行命令访问,但由于Windows找不到。。。Local\Temp\ComputerName,它给了我错误。 有什么办法我可以访问这个文件夹通过运行?

但是在C#.NET中,使用System.Diagnostics.Process,我可以打开相关的文件夹,但是由于“%”是文件夹和文件名的有效字符,所以很难确定用户给出的路径中是否包含变量名或文件夹名。 因此从Environment.getEnvironmentVariable(“”)中检索值是不明智的; 每时每刻。 区分的最佳方法是什么?

有什么建议吗?


共1个答案

匿名用户

我解决它的想法--它们必须被证明是有效的--我目前在一台Linux机器上:

  1. 我不知道如何在Windows区域中逃脱%,这将是最好的解决方案,其他人吗?
  2. 在C#中临时备份环境变量%UserDomain%的值,如果可以,请将此进程的环境变量设置为“%UserDomain%”。 调用Run命令后,将userdomain环境变量重置为其备份值(如果其他线程同时在您的程序中使用%userdomain%,则仅有缺点)。
  3. 在C%中定义和设置两个环境变量,如fakeLeftHalf=“%user”和FakeRightThalf=“domain%”,并使用“YourPath\%fakeLeftHalf%%FakeRightThalf%”
  4. 调用运行命令

有一个主意管用吗?