2016-08-22 11 views
-3

のC#を使用して別のフォルダにコピーします。私のソースパスはC:\ images \です。Album-1、Album-2などと呼ばれる何百ものフォルダがあります。 AllPics。そして、アルバム内のすべてのファイルをターゲットパスに移動して、album-1_img1、album2-img2などのサブフォルダ名を持つ1つのフォルダ内のすべての画像を取得します。これどうやってするの ?サブフォルダ内のすべてのファイルをサブフォルダ名が

+0

などのディレクトリを含めるためのオプションがあります (tweeksが必要になる場合があります)これに似たディレクトリ内のファイルを反復処理することができますあなたも何かをしようとしましたか?これまでに何をしていますか? SOはコードライターではありません。 – MichaelThePotato

+0

これまでに何を試しましたか?これはコーディングサービスではありません:http://stackoverflow.com/help/how-to-ask –

+0

これは何度もそのばかげた質問がされました – BugFinder

答えて

0
namespace MassFileMoverConsole 
{ 
    class Program 
    { 
     string _sourcePath; 
     string _targetPath; 

     static void Main(string[] args) 
     { 
      Program massMover = new Program(); 
      massMover.MoveThemAll(); 
     } 

     void MoveThemAll() 
     { 
      Console.WriteLine("Enter source path : "); 
      _sourcePath = Console.ReadLine(); 
      Console.WriteLine("Enter target path : "); 
      _targetPath = Console.ReadLine(); 

      var subFolderNamesTargetPath = Directory.GetDirectories(_sourcePath); 
      foreach(var subFolderName in subFolderNamesTargetPath) 
      { 
       var subFolder = new DirectoryInfo(subFolderName); 
       var subFolderFiles = subFolder.GetFiles(); 
       foreach(var subFolderFile in subFolderFiles) 
       { 
        var fileNewName = subFolder.Name + "_" + subFolderFile.Name; 
        subFolderFile.CopyTo(Path.Combine(_targetPath, fileNewName)); 
       } 
      } 

     } 
    } 
} 
+0

Aniruddha Varma..its完璧にありがとうございました – lightcoder

+0

@lightcoderそれを聞いてうれしいです、あなたは歓迎です!私はあなたがこの質問にいくつかのdownvotesを持っていると思いますこれは一般的にSOで悩まされている可視的なコード/研究努力です。将来の質問でこれを避けるには、チュートリアルを見て、コードを書こうとするとよいでしょう。 –

0

ファイル&ディレクトリクラスを見てください。 あなたが

// Process the list of files found in the directory. 
string [] fileEntries = Directory.GetFiles(targetDirectory); 
foreach(string fileName in fileEntries) 
    ProcessFile(fileName); 

// Recurse into subdirectories of this directory. 
string [] subdirectoryEntries = Directory.GetDirectories(targetDirectory); 
foreach(string subdirectory in subdirectoryEntries) 
    ProcessDirectory(subdirectory); 
+0

'Directory.GetFiles() 'は最低でもパスをとってから、検索パターンになります。 – uTeisT

関連する問題