-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.Copy(string source, string destination) 这里是一篇关于如何使用File.Copy的 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 回答