【问题标题】:Move a file to another directory (folder within a special folder) C#将文件移动到另一个目录(特殊文件夹中的文件夹)C#
【发布时间】:2015-08-19 20:40:59
【问题描述】:

我正在尝试移动一个文件,但只有当它移动到一个特殊文件夹而不是一个特殊文件夹中的文件夹时,我才能让它工作。

如果我想将它移动到位于我的文档中的名为“i”的文件夹中:

foreach (string filename in Directory.GetFiles(MainPath))
        {

            var info = new FileInfo(filename);
            if (info.Length < 1000000)
            {
                File.Move(filename, System.IO.Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),info.Name));
            }
        }

【问题讨论】:

  • cw 你的第二个参数(路径)。让我们看看您将路径设置为什么
  • 对不起,我不知道那是什么意思,现在路径是我的文件,但我想要它到我的文件/我。每当我尝试修复它时,我都会遇到错误
  • @FirebladeDan -- 是的,我同意 -- 你的评论毫无意义。
  • 我的意思是打印出 System.IO.Path... 这样您就可以看到它在哪里移动。它应该是 C:\documents\filename。我感觉它在联合收割机上的断裂可能会丢失反斜杠
  • @roryap - 输入 cw 然后在键盘上点击 tab 选项卡与快捷键:cw +tab +tab = Console.Writeline()

标签: c# file directory move


【解决方案1】:

这行得通吗?如果您想在当前文件夹(例如您的文档)下有一个名为“i”的文件夹,只需将其添加到对 Path.Combine() 的调用中即可。

File.Move(filename, System.IO.Path.Combine(
    System.Environment.GetFolderPath(
    Environment.SpecialFolder.MyDocuments), "i", info.Name));

【讨论】:

  • 试过了,它说“方法 ocmbine 没有重载需要 3 个参数”
  • 什么版本的 .NET?如果您使用的是 2.0,那么您就不走运了。之后的任何事情,它都应该起作用。如果您使用的是 2.0,则绝对应该升级;它已经严重过时了。
  • 我只使用 3.5,因为我希望它在 winxp 上运行。
【解决方案2】:
Console.WriteLine(System.IO.Path.Combine
(System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),info.Name)));

这说明了什么?

【讨论】:

  • 哦,现在我明白你的意思了,但是当我把它放入并运行它时,输出框不显示任何内容。我也尝试了一个消息框,同样的事情发生了。我认为它是因为它在一个 for 循环中
  • 我知道了,它显示了这个 C:\Users\William\Documents\IMG_1255.jpg
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-02
相关资源
最近更新 更多