výpis skrytých adresářů   otázka

VB.NET

v aplikaci používám

myFile = Dir("*.*", FileAttribute.Directory)

ale tahle funkce mě nevypíše skryté adresáře či soubory. Nevíte jak toto ošetřit?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nepoužívejte staré funkce jako Dir, ale místo toho jmenný prostor Frameworku pro práci se soubory: System.IO:

    Sub Main()
        Console.ForegroundColor = ConsoleColor.White
        For Each directory In New IO.DirectoryInfo("C:/").GetDirectories()
            If directory.Attributes.HasFlag(IO.FileAttributes.Hidden) Then
                Console.ForegroundColor = ConsoleColor.Yellow
                Console.Write("[HIDDEN] ")
                Console.ForegroundColor = ConsoleColor.White
            End If
            Console.WriteLine(directory.Name)

        Next
        Console.ReadLine()
    End Sub

Tento kód projede všechny podadresáře specifikované cesty, zkontroluje u nich, jestli jejich atributy obsahují Hidden a pokud ano, označí je.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Díky funguje to, je ještě nějaká metoda jak v FolderBrowserDialog ukázat skryté adresáře?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pokud FolderBrowserDialog takovou vlastnost nemá a neposkytuje, nebo to není jeho výchozí chování, bude to buď extrémně složité, nebo nerealizovatelné.

Já jsem se jen tak zběžně koukal, ale žádnou takovou vlastnost jsme tam neviděl, ale s WinForms jsem již dlouho nepracoval, tak jsem toho spoustu zapomněl. Zkuste se prožádně probrat jeho vlastnostmi.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Není, FolderBrowserDialog to jako každá jiná součást Průzkumníka (např. OpenFileDialog) bere z nastavení Windows (Možnosti složky).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jen bych poznamenal, že HasFlag je bohužel až od Frameworku 4.0, takže ve 3.5 a nižších verzích je potřeba použít:

Dim hasFlag = ((directory.Attributes And FileAttributes.Hidden) _
              = FileAttributes.Hidden)

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback