0

移動時にファイルに日付が追加されたフォルダにファイルが存在する場合は、ファイルを移動したいと思います。日付を文字列に変換しましたが、 「指定されたパスの形式はサポートされていません」というエラーが表示されます。これは、このコードをトリガーするイベント内にあります。

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);
                }
4

2 に答える 2

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

パスにスラッシュを使用することはできません。

パスを使用する前にそれらを(他の不正な文字とともに)削除できます。これを確認してください:パスとファイル名から不正な文字を削除する方法は?

于 2012-08-20T10:54:42.897 に答える
0

をご利用くださいtheDate.ToString({format as you need}) 。お使いのロケールの日付の形式に「不適切な」記号 (スラッシュ) が含まれている可能性があります。

フォーマットはhttp://msdn.microsoft.com/en-us/library/az4se3k1.aspxにあります。

于 2012-08-20T10:54:44.110 に答える