2014-04-05 4 views
0

Application Data 폴더에서 3 개의 파일 (file1.sol file2.sol file3.sol) 을 삭제하려고합니다. 내 코드 단어 하나의 파일로 잘,하지만 어떻게 내가 세 파일을 삭제하게 할 수 있습니까? "file1.sol", 그것은 단지 해당 파일을 검색합니다 의미 GetAllAccesibleFiles응용 프로그램 데이터 폴더에서 많은 파일 삭제

Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click 

    Dim path As String = System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) 

      Dim fileList As New List(Of String) 
      GetAllAccessibleFiles(path, fileList) 
      Application.DoEvents() 
      Dim files As String() = fileList.ToArray 
      For Each s As String In fileList 
       My.Computer.FileSystem.DeleteFile(s) 
      Next 
End Sub 

Sub GetAllAccessibleFiles(ByVal path As String, ByVal filelist As List(Of String)) 
    For Each file As String In Directory.GetFiles(path, "file1.sol") 
     filelist.Add(file) 
    Next 
    For Each file As String In Directory.GetFiles(path, "file2.sol") 
     filelist.Add(file) 
    Next 
    For Each file As String In Directory.GetFiles(path, "file3.sol") 
     filelist.Add(file) 
    Next 

    For Each dir As String In Directory.GetDirectories(path) 
     Try 
      GetAllAccessibleFiles(dir, filelist) 
     Catch ex As Exception 
     End Try 
    Next 

End Sub 
+0

첫 번째 문제는 거기에'On Error Resume Next'가 있다는 것입니다. 그걸 없애고 다시 사용하지 마십시오. 코드를 다시 실행하고 예외가 발생했는지 확인하십시오. 그것은 당신에게 문제가 무엇인지에 대한 단서를 줄 것입니다. – jmcilhinney

+0

고마워요, 선생님, 지금은 잘 작동하지만 어떻게 한 줄 코드에서 모든 3 파일을 삭제할 수 있습니까? (File1.sol "&"file12.sol "&"file3.sol ") filelist.Add (file) – user3500069

답변

0

첫 번째 줄은 이름으로 파일을 검색한다 :

여기 내 코드입니다. "file * .sol"은 "file"로 시작하고 ".sol"로 끝나는 것을 의미합니다. 그게 효과가있다. 예를 들어 file4가 아닌 file1, 2 및 3 만 삭제하려는 경우 for 루프를 세 번 실행하고 "file1"이 있는지 확인하고 삭제하고 "file2"가 있는지 확인하는 등의 작업을 수행 할 수 있습니다.

관련 문제