Forum:Inventor VBA
Thema:Ordner ohne Ordnerbezeichnung l%EF%BF%BD%EF%BF%BDschen
Möchten Sie sich registrieren?
Wer darf antworten? Registrierte Benutzer können Beiträge verfassen.
Hinweise zur Registrierung Sie müssen registriert sein, um Beiträge oder Antworten auf Beiträge schreiben zu können.
Ihr Benutzername:
Ihr Kennwort:   Kennwort vergessen?
Anhang:    Datei(en) anhängen  <?>   Anhänge verwalten  <?>
Grafik für den Beitrag:                                                
                                                       
Ihre Antwort:

Fachbegriff
URL
Email
Fett
Kursiv
Durchgestr.
Liste
*
Bild
Zitat
Code

*HTML ist AUS
*UBB-Code ist AN
Smilies Legende
Netiquette

10 20 40

Optionen Smilies in diesem Beitrag deaktivieren.
Signatur anfügen: die Sie bei den Voreinstellungen angegeben haben.

Wenn Sie bereits registriert sind, aber Ihr Kennwort vergessen haben, klicken Sie bitte hier.

Bitte drücken Sie nicht mehrfach auf "Antwort speichern".

*Ist HTML- und/oder UBB-Code aktiviert, dann können Sie HTML und/oder UBB Code in Ihrem Beitrag verwenden.

T H E M A     A N S E H E N
rkauskh

Beiträge: 2199 / 0

Windows 10 x64, AIP 2023

Hallo

Wie hast du es denn fertig gebracht? Ich kenne keine Möglichkeit einen Ordner gänzlich ohne Namen zu erzeugen. Mir ist nur die Möglichkeit bekannt ein geschütztes Leerzeichen zu nehmen. Und ich meine das man das so löschen konnte. Läuft rekursiv und löscht ggf. in dem namenlosen Verzeichnis vorhandene Dateien. Unterverzeichnisse gibt es hoffentlich nicht in dem namenlosen Ordner. Das kann der Code nicht.

Code:

Private Sub delzerofolder()

    Dim oFSO As Scripting.FileSystemObject
    Set oFSO = New Scripting.FileSystemObject
   
    Dim oStartFolder As Scripting.Folder
    Set oStartFolder = oFSO.GetFolder("C:\Temp\a") '<----------- Startpfad anpassen
   
    Dim oFolder As Scripting.Folder
    For Each oFolder In oStartFolder.SubFolders
        If oFolder.SubFolders.count > 0 Then
            Call delzerosubfolder(oFolder)
        End If
       
        If oFolder.ShortName = "9DEC~1" Then
            Dim oFile As Scripting.File
            If oFolder.Files.count > 0 Then
                For Each oFile In oFolder.Files
                    Call oFile.Delete
                Next
            End If
       
            Call oFolder.Delete
        End If
    Next oFolder

End Sub

Private Sub delzerosubfolder(ByVal oSubFolder As Scripting.Folder)

    Dim oFolder As Scripting.Folder
    For Each oFolder In oSubFolder.SubFolders
        If oFolder.SubFolders.count > 0 Then
            Call delzerosubfolder(oFolder)
        End If
       
        If oFolder.ShortName = "9DEC~1" Then
            Dim oFile As Scripting.File
            If oFolder.Files.count > 0 Then
                For Each oFile In oFolder.Files
                    Call oFile.Delete
                Next
            End If
       
            Call oFolder.Delete
        End If
    Next oFolder

End Sub


------------------
MfG
Ralf

RKW Solutions GmbH
www.RKW-Solutions.com