我有这段代码:
private void GetHostsFile()
{
string Windows_95_98_Me = @"c:\windows\hosts";
string Windows_NT_2000_XP_Pro = @"c:\winnt\system32\drivers\etc\hosts";
string Windows_XP_Home = @"c:\windows\system32\drivers\etc\hosts";
string Windows8 = @"C:\windows\system32\drivers\etc\hosts";
string fileName = "hosts";
if (Directory.Exists(Windows_95_98_Me))
{
File.Copy(test1,test2, true);
}
}
我想将文件“hosts”复制到新位置。 但有时文件可能只是hosts或hosts.txt所以我想覆盖所有选项,只需复制像host *。*
我怎么能代替test1和test2呢?
答案 0 :(得分:2)
我会将Directory.GetFiles与搜索模式一起使用,例如“hosts *。*”,然后将找到的所有文件复制到另一个目录。
像
这样的东西string sourceDirectory = @"D:\";
string destinationDirectory = @"D:\Test";
List<string> fileNames = new List<string>(Directory.GetFiles(sourceDirectory, "hosts*.*"));
for (int iFile = 0; iFile < fileNames.Count; iFile++)
{
string fileName = fileNames[iFile];
File.Copy(fileName, Path.Combine(destinationDirectory,Path.GetFileName(fileName)));
}
另见
答案 1 :(得分:1)
您可以使用以下内容:
string[] files = System.IO.Directory.GetFiles(Windows_95_98_Me, "host*.*");
foreach (string s in files) {
System.IO.File.Copy(s, System.IO.Path.Combine(targetPath, System.IO.Path.GetFileName(s)), true);
}