要求是:
全盘里搜索a123开头的文件 然后复制到当前程序运行的文件夹里的file文件夹里
我写的代码是这样 【新手,还不会用递归 所以只能搜索根目录下的】
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace CopyFile
{
class Program
{
static string copy2folder = Path.Combine(Environment.CurrentDirectory,@"file");
static void Main(string[] args)
{
CreateFolder(copy2folder);
DriveInfo[] drivers = DriveInfo.GetDrives();
foreach (DriveInfo drive in drivers.Where(x => x.IsReady))
SearchInFolder(drive.Name);
Console.ReadLine();
}
public static void CreateFolder(string folder)
{
if (!Directory.Exists(folder))
Directory.CreateDirectory(folder);
}
public static void CopyToFolder(string srcFileName)
{
string fn = Path.GetFileName(srcFileName);
string desFileName = Path.Combine(copy2folder, fn);
Console.WriteLine(desFileName);
}
public static void SearchInFolder(string folder)
{
try{
Console.WriteLine("Starting Search{0}disk",folder);
foreach (string fileName in Directory.GetFiles(folder)
.Where(x => Path.GetFileName(x).StartsWith("a123")))
CopyToFolder(fileName);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
Console.WriteLine("Ending Search{0}disk\r\n",folder);
}
}
}
}
问题是,可以搜索的到,但是file文件夹里却没有拷贝过来。 大神帮忙看下哪里写错了
全盘里搜索a123开头的文件 然后复制到当前程序运行的文件夹里的file文件夹里
我写的代码是这样 【新手,还不会用递归 所以只能搜索根目录下的】
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace CopyFile
{
class Program
{
static string copy2folder = Path.Combine(Environment.CurrentDirectory,@"file");
static void Main(string[] args)
{
CreateFolder(copy2folder);
DriveInfo[] drivers = DriveInfo.GetDrives();
foreach (DriveInfo drive in drivers.Where(x => x.IsReady))
SearchInFolder(drive.Name);
Console.ReadLine();
}
public static void CreateFolder(string folder)
{
if (!Directory.Exists(folder))
Directory.CreateDirectory(folder);
}
public static void CopyToFolder(string srcFileName)
{
string fn = Path.GetFileName(srcFileName);
string desFileName = Path.Combine(copy2folder, fn);
Console.WriteLine(desFileName);
}
public static void SearchInFolder(string folder)
{
try{
Console.WriteLine("Starting Search{0}disk",folder);
foreach (string fileName in Directory.GetFiles(folder)
.Where(x => Path.GetFileName(x).StartsWith("a123")))
CopyToFolder(fileName);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
Console.WriteLine("Ending Search{0}disk\r\n",folder);
}
}
}
}
问题是,可以搜索的到,但是file文件夹里却没有拷贝过来。 大神帮忙看下哪里写错了
