本文档已存档,并且将不进行维护。

Directory.SetCurrentDirectory 方法

更新:2007 年 11 月

将应用程序的当前工作目录设置为指定的目录。

命名空间:  System.IO
程序集:  mscorlib(在 mscorlib.dll 中)

public static void SetCurrentDirectory(
	string path
)
public static void SetCurrentDirectory(
	String path
)
public static function SetCurrentDirectory(
	path : String
)

参数

path
类型:System.String
设置为当前工作目录的路径。

异常条件
IOException

发生 IO 错误。

ArgumentException

path 是一个零长度字符串,仅包含空白或者包含一个或多个由 InvalidPathChars 定义的无效字符。

ArgumentNullException

pathnull

PathTooLongException

指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260 个字符。

SecurityException

调用方没有访问未委托的代码所需的权限。

FileNotFoundException

未找到指定的路径。

DirectoryNotFoundException

未找到指定的目录。

当应用程序终止时,工作目录被还原为其原始位置(从其开始进程的目录)。

允许 path 参数指定相对或绝对路径信息。相对路径信息被解释为相对于当前工作目录。若要获取当前工作目录,请参见 GetCurrentDirectory

path 参数不区分大小写。

有关通用 I/O 任务的列表,请参见 通用 I/O 任务

Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows CE 平台说明:

因为某些移动设备操作系统不具有当前目录功能,所以不支持此方法。

下面的代码示例演示如何设置当前目录以及如何显示根目录。

// This sample shows how to set the current directory and how to determine
// the root directory.
using System;
using System.IO;

namespace IOSamples
{
  public class DirectoryRoot
  {
    public static void Main()
    {
	// Create string for a directory. This value should be an existing directory
	// or the sample will throw a DirectoryNotFoundException.
      string dir = @"C:\test";		
	  try
	  {
		  //Set the current directory.
		  Directory.SetCurrentDirectory(dir);
	  }
	  catch (DirectoryNotFoundException e)
	  {
		  Console.WriteLine("The specified directory does not exist. {0}", e);
	  }
	// Print to console the results.
	  Console.WriteLine("Root directory: {0}", Directory.GetDirectoryRoot(dir));
	  Console.WriteLine("Current directory: {0}", Directory.GetCurrentDirectory());
    }
  }
}
// The output of this sample depends on what value you assign to the variable dir.
// If the directory c:\test exists, the output for this sample is:
// Root directory: C:\
// Current directory: C:\test



// This sample shows how to set the current directory and how to determine
// the root directory.

import System.*;
import System.IO.*;

public class DirectoryRoot
{
    public static void main(String[] args)
    {
        // Create string for a directory. This value should be an existing 
        // directory or the sample will throw a DirectoryNotFoundException.
        String dir = "C:\\test";
        try {
            //Set the current directory.
            Directory.SetCurrentDirectory(dir);
        }
        catch (DirectoryNotFoundException e) {
            Console.WriteLine("The specified directory does not exist. {0}", e);
        }
        // Print to console the results.
        Console.WriteLine("Root directory: {0}",
            Directory.GetDirectoryRoot(dir));
        Console.WriteLine("Current directory: {0}",
            Directory.GetCurrentDirectory());
    } //main
} //DirectoryRoot
// The output of this sample depends on what value you assign to the 
// variable dir.
// If the directory c:\test exists, the output for this sample is:
// Root directory: C:\
// Current directory: C:\test


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360

.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

.NET Framework

受以下版本支持:3.5、3.0、2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:3.5、2.0、1.0

XNA Framework

受以下版本支持:2.0、1.0
显示: