Oli*_*r K 46 c# directory file
我希望创建一个程序,在我的桌面上找到某种类型的所有文件,并将它们放入特定的文件夹中,例如,我将所有带有.txt的文件放入Text文件夹中.
任何想法是什么最好的方法来实现这一目标?谢谢.
我试过这个:
string startPath = @"%userprofile%/Desktop";
string[] oDirectories = Directory.GetDirectories(startPath, "");
Console.WriteLine(oDirectories.Length.ToString());
foreach (string oCurrent in oDirectories)
Console.WriteLine(oCurrent);
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)
它找不到所有文件都不成功.
dts*_*tsg 98
很多这些答案实际上都不起作用,自己尝试过.放手一搏:
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);
}
Run Code Online (Sandbox Code Playgroud)
它会将桌面上的所有.txt文件移动到该文件夹TextFiles.
首先; 最佳做法是获取用户桌面文件夹
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
Run Code Online (Sandbox Code Playgroud)
然后你可以找到所有类似的文件
string[] files = Directory.GetFiles(path, "*.txt", SearchOption.AllDirectories);
Run Code Online (Sandbox Code Playgroud)
请注意,使用上面的行,您将在登录用户和所有子文件夹的Desktop文件夹中找到所有扩展名为.txt的文件.
然后你可以通过枚举上面的集合来复制或移动文件
// For copying...
foreach (string s in files)
{
File.Copy(s, "C:\newFolder\newFilename.txt");
}
// ... Or for moving
foreach (string s in files)
{
File.Move(s, "C:\newFolder\newFilename.txt");
}
Run Code Online (Sandbox Code Playgroud)
请注意,您必须在Copy()(或Move())操作中包含文件名.所以你必须找到一种方法来确定至少你正在处理的扩展名的文件名,而不是像上面例子中那样命名所有文件.
考虑到这一点,您还可以查看DirectoryInfo和FileInfo课程.它们以类似的方式工作,但您可以更轻松地获取有关路径/文件名,扩展名等的信息
查看这些以获取更多信息:
http://msdn.microsoft.com/en-us/library/system.io.directory.aspx
http://msdn.microsoft.com/en-us/library/ms143316.aspx
http://msdn.microsoft.com/en-us/library/system.io.file.aspx
您可以尝试使用Directory.GetFiles并修复您的模式
string[] files = Directory.GetFiles(@"c:\", "*.txt");
foreach (string file in files)
{
File.Copy(file, "....");
}
Or Move
foreach (string file in files)
{
File.Move(file, "....");
}
Run Code Online (Sandbox Code Playgroud)
http://msdn.microsoft.com/en-us/library/wz42302f
| 归档时间: |
|
| 查看次数: |
123557 次 |
| 最近记录: |