2016-10-29 4 views
0

Ich habe diesen Code von irgendwo im Netz, und es funktioniert gut für mich. Meine Erfahrung reicht jedoch nicht aus, um es in allen Unterordnern des Hauptverzeichnisses ("C: \ Folder \") auszuführen. Ich würde mich über jeden Vorschlag freuen.führen Sie den Code in allen Unterordnern

Sub check() 
Dim strFolder As String 
Dim strFile As String 

    strFolder = "C:\Folder\" 
    strFile = Dir(strFolder & "*.*") 
    Do While Len(strFile) > 0 
    If InStr(strFile, "xxx") > 0 Then 
     Name strFolder & strFile As strFolder & Replace(strFile, "xxx", "yyy") 
    End If 
    strFile = Dir() 
    Loop 
End Sub 
+0

"Ich habe diesen Code von irgendwo im Netz," - was ist, wenn es bösartig ist? –

+0

Was macht diese Zeile? 'StrFolder & strFile als strFolder & Replace (strFile," xxx "," yyy ")'? Das sieht nicht wie gültige VB.NET-Syntax aus. –

Antwort

0

Sie sind viel besser den System.IO-Namespace (Sie müssen die Anweisung Imports für ihn hinzuzufügen), da es eine Directories.GetFiles Methode ist, die für eine Option ermöglicht AllDirectories suchen innerhalb Ihr spezifizierter Ordner

Importe System.IO;

Sub Check() 
Dim strFolder As String = "C:\Folder\" 
Dim strFiles() As String = Directory.GetFiles(strFolder, "*.*", SearchOption.AllDirectories) 

    For Each strFile As String In strFiles 
     If strFile.Contains("xxx") Then 
      File.Move(strFolder & strFile, strFolder & strFile.Replace("xxx", "yyy")) 
     End If 
    Next 
End Sub 
Verwandte Themen