由于我正在开发一个C# .NET应用程序,其中一部分模仿WindowsRun命令,所以我正在对它进行一些实验。我有一个完全命名为 %userdomain%的文件夹。Appdata\Local\Temp 文件夹,我想通过 Windows Run 命令访问,但它给了我错误,因为 Windows 找不到....本地\临时\计算机名。有什么方法可以通过运行访问此文件夹吗?
但是,在 C# .NET 中,使用System.Diagnostics.Process,我可以打开相关的文件夹,但由于"%"是文件夹和文件名的有效字符,因此很难确定用户给出的路径是否包含变量名称或文件夹名称。因此,从 Environment.GetEnvironmentVariable("( 中检索值是不明智的;一直。区分的最佳方法是什么?
有什么建议吗?
我解决它的想法 - 它们必须被证明是有效的 - 我目前在 Linux 机器上:
- 我不知道如何在Windows区域中转义%,这将是最好的解决方案,其他人吗?
- 在 C# 中,临时备份环境变量 %userdomain% 的值,如果它有效,请将此过程的环境变量设置为"%userdomain%"。在调用 Run 命令后,将用户域环境变量重置为其备份值(仅当其他线程在程序中同时使用 %userdomain% 时才有缺点(。
- 在 C% 中定义并设置 2 个环境变量,例如 fakeLeftHalf = "%user" 和 fakeRightHalf = "domain%",并使用 "yourpath\%fakeLeftHalf%%fakeRightHalf%" 调用 Run 命令
一个想法成功了吗?