How do I look for a file with no extension and delete it. VB.net 2005

I want to do house keeping on a folder via my VB App.  I have Alpha Numeric files with no extension that is being copied everytime an excel file is created.  They are always 8 characters in length.  I want to look in the folder and if those files are present delete them.  This what I've tried, but it doesn't work.


Dim file5 As String = "N:\Archive\*.*"
            If System.IO.File.Exists(file5).Length = 8 Then
                System.IO.File.Delete(file5)
            End If
TEStackAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
TEStackConnect With a Mentor Author Commented:
Imports System.IO

Module Module1
    Public Sub Main()

        Dim files As FileInfo() = (New DirectoryInfo("N:\usmPTP\PlatPar\3050Archive").GetFiles())

        For Each f As FileInfo In files
            If f.Name.Length = 8 And String.IsNullOrEmpty(f.Extension) Then
                f.Delete()

            End If
        Next

    End Sub


End Module
0
 
jasonduanCommented:
DirectoryInfo info = new DirectoryInfo( @"N:\Archive" );
foreach( FileInfo finfo in info.GetFiles( "*.*" ) )
{
    if( finfo.Name.Length==8 && !finfo.Contains(".") )
       finfo.Delete();
}


This is C#, you should be able to easily convert it to VB.net
0
 
TEStackAuthor Commented:
I'm afraid it's not easy for me.  I'm pretty much a rookie and don't know any C#.
0
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

 
Carl TawnSystems and Integration DeveloperCommented:
If you are using .Net 3.5 or above you can do it with Linq. Sample follows:
Imports System.Linq
Imports System.IO

Module Module1

    Sub Main()

        Dim files = From file In (New DirectoryInfo("N:\Archive\").GetFiles()) _
                                  Where file.Name.Length = 8 And String.IsNullOrEmpty(file.Extension) _
                                  Select file

        For Each f In files
            '// Do something with each file
        Next

    End Sub

End Module

Open in new window

0
 
TEStackAuthor Commented:
Does anyone else know how this might be done in vb.net?
0
 
TEStackAuthor Commented:
Disregard last post I hadn't updated my screen.
0
 
TEStackAuthor Commented:
I get this error
namespace or type specified in the Imports "system.Linq' doesn't contain any public member or cannot be found.  Make sure the namespace or the type is defined and contains at least one public member.  Make sure the  imported element name doesn't use any aliases.
0
 
Carl TawnSystems and Integration DeveloperCommented:
Can you post your code precisely as you have it? Including the "Imports" line.
0
 
TEStackAuthor Commented:
Imports System.Linq
Imports System.IO

Module Module1
   
    Sub Main()

        Dim files = From file In (New DirectoryInfo("N:\Archive\").GetFiles()) _
                                  Where file.Name.Length = 8 And String.IsNullOrEmpty(file.Extension) _
                                  Select file

        For Each f In files
            '// Do something with each file
        Next

    End Sub





End Module
0
 
Carl TawnSystems and Integration DeveloperCommented:
What version of the .net framework are you using? Linq is only available with 3.0 onwards.
0
 
TEStackAuthor Commented:
I'm running VB.net 2005.  Under add and remove softeware I see .net 3.5.  If I look at my references in my program they refer to 2.0.
0
 
Carl TawnSystems and Integration DeveloperCommented:
Ah, in that case you're stuck with 2.0. Try this version instead:
Imports System.Linq
Imports System.IO

Module Module1

    Sub Main()

        Dim files As FileInfo() = (New DirectoryInfo("N:\Archive").GetFiles())

        For Each f In files
                If f.Name.Length = 8 And String.IsNullOrEmpty(f.Extension) Then
                     '// Do something with the file
                End If
        Next

    End Sub

End Module

Open in new window

0
 
TEStackAuthor Commented:
Do I leave Imports System.Linq out?  How should f be declared?
0
 
Carl TawnSystems and Integration DeveloperCommented:
You leave it out. System.Linq isn't available in VS2005.
0
 
TEStackAuthor Commented:
You left it in your example above.  How should F be declared?
0
 
Carl TawnConnect With a Mentor Systems and Integration DeveloperCommented:
Ah, so I did :)

Updated version:
Imports System.IO

Module Module1

    Sub Main()

        Dim files As FileInfo() = (New DirectoryInfo("N:\Archive").GetFiles())

        For Each f as FileInfo In files
                If f.Name.Length = 8 And String.IsNullOrEmpty(f.Extension) Then
                     '// Do something with the file
                End If
        Next

    End Sub

End Module

Open in new window

0
 
TEStackAuthor Commented:
How do I actually get it to delete the files?
0
 
TEStackAuthor Commented:
Thanks for the help.  I needed a little more detail.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.