2012-01-24 6 views
1

ここで私は1つのルートフォルダからファイルを読み込み、その特定のファイルを移動しています。成功したフォルダと、フォルダ通常同じファイルを既存のフォルダに置いて重複したファイルを処理する方法C#.net

までファイルを読みながら、それがバックアップフォルダに存在したと仮定し、再び同じファイルを仮定した場合、フォルダ

私の問題を再現するために、ファイルを移動するイム場合、私は、バックアップフォルダを標的とすることにより、ファイルの命名規則をチェックするプロセスに来ましたこのファイルは既に重複したフォルダに存在していました。どのようにファイルを重複したフォルダに送りますか?私は誰にでも何か提案を与えることができます。問題から解決してください。

If File.Exists(Swift_Backup + "\" + Path.GetFileName(CBFile)) Then 
       ' File.Move(CBFile, Swift_Duplicate + "\\" + Path.GetFileName(CBFile)) 'DUPLICATE FOLDER' 

       ' File.Copy(oldFileName, NewFileName); 


       File.Copy(CBFile, Swift_Duplicate + "\\" + Path.GetFileNameWithoutExtension(CBFile) + "_" + DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff tt") + Path.GetExtension(CBFile)) 'DUPLICATE FOLDER' 
       File.Delete(CBFile) 
    END IF 

私はこのように試してみましたが、私はどんな間違いをした午前のために働いていなかった

Swift_Duplicate - >フォルダ名を重複し Swift_Backup - >バックアップフォルダ名 CBFile - >文字列ファイル名がしますcbfileにある場合は、ルートフォルダから取得します

+0

これは、VBとしてタグ付けされなければなりません。 –

+0

なぜ機能しませんでしたか?エラーメッセージ(もしあれば)は何でしたか? Swift_Duplicateの値は? – w69rdy

答えて

2

ファイルの名前を変更することは、別の名前の同じディレクトリに移動することと同じです。たとえば:

File.Move("C:\\docs\\new.doc", "C:\\docs\\old.doc"); 

また、のFileInfoクラスを使用することを検討してください:

FileInfo file = new FileInfo("C:\\docs\\new.doc"); 
file.MoveTo("C:\\docs\\new.doc"); 

FileInfo copy = file.CopyTo("C:\\docs\\old.doc"); 
関連する問題