将文件移动到文件夹(C#)

时间:2012-08-20 10:50:53

标签: c# file move directory

如果文件存在,我想将文件移动到文件夹中,并在移动时将日期附加到文件中。我收到错误"不支持给定路径的格式" 虽然我已将日期转换为字符串,但这是在触发的事件中这段代码。

XAML:              

<add key ="Directory" value ="C:\FILE WATCHER TEST FOLDER\"/>
<add key ="File name" value ="update1"/>
<add key="extension" value =".txt"/>
<add key ="Folder name" value ="archive updates\"/>

代码背后:

        DateTime date = DateTime.Parse("17/08/2012",ukCulture.DateTimeFormat);
        string theDate = Convert.ToString(date);

        string directory = ConfigurationManager.AppSettings["Directory"];
        string file = ConfigurationManager.AppSettings["File name"];
        string folder = ConfigurationManager.AppSettings["Folder name"];
        string extension = ConfigurationManager.AppSettings["extension"];

        string file_exe = file + extension;  

        string file_theDate = file + "-" + theDate;
        string file_theDate_exe = file_theDate + extension;

        string dir_fol = System.IO.Path.Combine(directory, folder);
        string dir_file_exe = System.IO.Path.Combine(directory, file_exe);
        string dir_file_theDate_exe = System.IO.Path.Combine(dir_fol, file_theDate_exe);

        if (File.Exists(dir_file_exe))
        {
            update.readNewFile();
            update.updatePaf();



            if (!Directory.Exists(dir_fol))
            {
                //create it move it
                System.IO.Directory.CreateDirectory(dir_fol);
                File.Move(dir_file_exe,dir_file_theDate_exe);


            }
            else
            {
                // move it
                if (File.Exists(dir_file_exe))
                {
                    File.Move(dir_file_exe, dir_file_theDate_exe);
                }

2 个答案:

答案 0 :(得分:0)

DateTime date = DateTime.Parse("17/08/2012",ukCulture.DateTimeFormat);

你的道路上不能有正斜杠。

您可以在使用该路径之前删除它们(以及其他非法字符),请查看:How to remove illegal characters from path and filenames?

答案 1 :(得分:0)

请使用theDate.ToString({format as you need}) 。可能是您的语言环境中的日期格式包含“坏”符号(斜杠)。

可以在http://msdn.microsoft.com/en-us/library/az4se3k1.aspx

找到格式