Visual C#: Move multiple files with the same exten

2019-01-15 09:59发布

guys. I've got a problem I can't solve: I have a 2 folders I choose with folderBrowserDialog and tons of files in source directory I need to move to the target directory. But, I have only to move files with a specific extension like .txt or any other extension I can get from textbox. So how can I do it?

标签: c# file move
2条回答
可以哭但决不认输i
2楼-- · 2019-01-15 10:12

Try this:

For copying files...

foreach (string s in files)
{
   File.Copy(s, "C:\newFolder\newFilename.txt");
}

for moving files

foreach (string s in files)
{
   File.Move(s, "C:\newFolder\newFilename.txt");
}

Example for Moving files to Directory:

string filepath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
DirectoryInfo d = new DirectoryInfo(filepath);

foreach (var file in d.GetFiles("*.txt"))
{
      Directory.Move(file.FullName, filepath + "\\TextFiles\\" + file.Name);
}

will Move all the files from Desktop to Directory "TextFiles".

查看更多
【Aperson】
3楼-- · 2019-01-15 10:13

First get all the files with specified extension using Directory.GetFiles() and then iterate through each files in the list and move them to target directory.

//Assume user types .txt into textbox
string fileExtension = "*" + textbox1.Text;

string[] txtFiles = Directory.GetFiles("Source Path", fileExtension);

foreach (var item in txtFiles)
{
   File.Move(item, Path.Combine("Destination Directory", Path.GetFileName(item)));
}
查看更多
登录 后发表回答