如何获取/设置winforms应用程序的工作目录?

a5g8bdjr  于 2023-03-31  发布在  其他
关注(0)|答案(2)|浏览(135)

要获取我当前使用的应用程序的根:

Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase).Substring(6)

但是我觉得这有点草率,有没有更好的方法来获取应用程序的根目录并将其设置为工作目录?

xsuvu9jc

xsuvu9jc1#

因此,您可以通过使用Environment.CurrentDirectory =(sum directory)来更改目录。有很多方法可以获得原始执行目录,一种方法本质上是您所描述的方法,另一种方法是通过Directory.GetCurrentDirectory()如果您没有更改目录。

using System;
using System.IO;

class Test 
{
    public static void Main() 
    {
        try 
        {
            // Get the current directory.
            string path = Directory.GetCurrentDirectory();
            string target = @"c:\temp";
            Console.WriteLine("The current directory is {0}", path);
            if (!Directory.Exists(target)) 
            {
                Directory.CreateDirectory(target);
            }

            // Change the current directory.
            Environment.CurrentDirectory = (target);
            if (path.Equals(Directory.GetCurrentDirectory())) 
            {
                Console.WriteLine("You are in the temp directory.");
            } 
            else 
            {
                Console.WriteLine("You are not in the temp directory.");
            }
        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }

ref

qlckcl4x

qlckcl4x2#

你想要什么工作目录,还是程序集所在的目录?
对于当前目录,可以使用Environment.CurrentDirectory。对于程序集所在的目录,可以使用以下命令:

Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)

相关问题