我想在磁盘上删除所有的同名的文件,不论后缀是什么比如有文件为aaa.jpg  aaa.bmp  aaa.png
我用 System.IO.FileInfo fi = new System.IO.FileInfo(sFileFullPath);
fi1.Delete();   
删除但sFileFullPath 要求文件具体的全名,怎样才能删除 aaa.*
也就是所有的叫aaa的文件,不论后缀是什么。

解决方案 »

  1.   

    先取得一个文件名为aaa.*的所有文件对象集合(忘了名字了),然后遍历删除.
      

  2.   

    请使用以下方法,支持熟悉 DOS 中的 * 和 ? 模式匹配Directory.GetFiles (
    string path,
    string searchPattern
    )// DEMO ->
    string[] filePath = Directory.GetFiles(myPath, "aaa.*");
      

  3.   

    // DEMO ->
    string[] filePaths = Directory.GetFiles(myPath, "aaa.*");
    foreach(string path in filePaths) {
       File.Delete(path);
    }详细见:
    Directory.GetFiles 方法 http://msdn2.microsoft.com/zh-cn/library/System.IO.Directory.GetFiles.aspx同时方法,
    Directory.GetFiles (String, String, SearchOption) 
    支持,是否进行子目录搜索
      

  4.   

    直接调用 cmd命令 del aaa.* /s /q 
    就是了
      

  5.   

    Microsoft Windows [版本 5.2.3790]
    (C) 版权所有 1985-2003 Microsoft Corp.C:\Documents and Settings\Administrator>help del
    删除一个或数个文件。DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
    ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names  names         指定一个或数个文件或目录列表。通配符可被用来
                    删除多个文件。如果指定了一个目录,目录中的所
                    有文件都会被删除。  /P            删除每一个文件之前提示确认。
      /F            强制删除只读文件。
      /S            从所有子目录删除指定文件。
      /Q            安静模式。删除全局通配符时,不要求确认。
      /A            根据属性选择要删除的文件。
      attributes    R  只读文件                     S  系统文件
                    H  隐藏文件                     A  存档文件
                    -  表示“否”的前缀如果命令扩展被启用,DEL 和 ERASE 更改如下:/S 开关的显示句法会颠倒,即只显示已经
    删除的文件,而不显示找不到的文件。