-1

これは単なるサンプルですが、私がやろうとしていることを説明するのに役立ちます。

以下のスクリプトに示すように、現在のディレクトリを取得する方法を知っており、ファイルを設定できますvariable

私が抱えている問題は、フォルダーを作成してファイルをフォルダーに入れる方法がわからないことです

例(以下の変数を使用)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var cd = Directory.GetCurrentDirectory();
            Directory.CreateDirectory(cd: \5app\);
            File.Copy(c:\xyz.txt, cd: \5app\xyz.txt

        }
    }
}

vs10がそう言っているので、私が上に書いたことは正しくないことはわかっていますが、あまり助けにはなりません。

4

3 に答える 3

4

括弧とセミコロンがありません。特に、メソッドの引数Directory.CreateDirectory()File.Copy()文字列である場合は、引用符で囲みます。

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var cd = Directory.GetCurrentDirectory();
            Directory.CreateDirectory(cd + @"\5app\");
            File.Copy(@"c:\xyz.txt", cd + @"\5app\xyz.txt");
        }
    }
}

MSDN リファレンス: Directory.CreateDirectoryFile.Copy

であってはならないことを指摘してくれたCole Johnsonに感謝します@"cd: \5app\"

于 2012-05-21T23:23:04.767 に答える
3

引用符は使用しません。

さらに、明示的なパラメーターの命名はお勧めしません。明示的なパラメーターを使用して生成された CIL を見ると、パラメーター変数がローカル変数に保存されてから渡されるため、パフォーマンスが低下しています。これにより、不要なstrfldコマンドが発生します。

于 2012-05-21T23:21:21.017 に答える
2

コードにはいくつかの問題がありますが、コンパイラ エラーが解決に役立つ可能性があります。

このメソッドDirectory.CreateDirectory(string path)には、"" で囲まれた文字列が必要です。Directory.CreateDirectoryの使用方法に関する MSDN の記事を次に示します。

メソッドと同じFile.CopyFile.Copy(string source, string destination) の使用方法に関する MSDN の記事は次のとおりです。

Directory.GetDirectory() は文字列を返すため、特定のディレクトリを結果に連結するだけです。ただし、バックスラッシュなどの文字列には、適切なエスケープ シーケンスを使用することを忘れないでください。

namespace ConsoleApplication1 
{ 
    class Program 
    { 
        static void Main(string[] args) 
        { 
            string cd = Directory.GetCurrentDirectory(); 
            Directory.CreateDirectory(cd + "\\5app\\"); 
            File.Copy("c:\\xyz.txt", cd + "\\5app\\xyz.txt");
        } 
    } 
} 
于 2012-05-21T23:27:30.693 に答える