2012-01-31 21 views
0

c#consoleアプリケーションでは、適切なディレクトリを取得します。コマンドライン引数が指定されていない場合は、コマンドラインのディレクトリを使用してください。

class Program 
{ 
    static void Main(string[] args) 
    { 
     Console.WriteLine(args[0]); 
    } 
} 

と私はコマンドプロンプト内で次の操作を行います:たとえば、のは、私は次のコードを持っていると仮定しましょう。

FooCA.exe \ Fooの\バー

何I getはまったく同じ文字列です。では、これを完全なパスに変換するにはどうすればよいですか?

コマンドライン引数が指定されていない場合、コマンドラインのディレクトリを取得したいと思います。

答えて

1
  1. System.IO.Path.GetFullPath(path)は:

  2. Environment.CurrentDirectory ...指定したパス文字列のための絶対パスを返します:現在の作業ディレクトリの完全修飾パスを取得または設定します。

2

(あなたが言うように、つまり、コマンドラインのディレクトリ)あなたは現在の作業ディレクトリを見つけるために、相対的なディレクトリとSystem.IO.Directory.GetCurrentDirectory()を解決するために

0

System.IO.Path.GetFullPath()を使用することができますあなたが使用することができます。

Path.GetFullPath(args[0]) 

これは、現在実行中のディレクトリを考慮に入れます。悪意のあるユーザー入力からパスを取得する際には、パスを検証するように注意してください。

関連する問題