Jak zrobić listę plików w katalogu (skopiować nazwy plików do pliku tekstowego)

Metoda 1 – dla ambitnych, linia poleceń

  1. Uruchamiamy okienko linii poleceń
  2. Przechodzimy do katalogu, którego pliki chcemy wylistować (poleceniem cd i np. tabulatorem)
  3. Wpisujemy polecenie:
    dir /b > nazwyplikow.txt
    i naciskamy ENTER
  4. W powstałym w katalogu pliku nazwyplikow.txt mamy listę nazw plików
  5. Jeżeli chcielibyśmy, żeby lista uwzględniała podkatalogi polecenie uzupełniamy o parametr /s, jak poniżej
    dir /b /s > nazwyplikow.txt

Oprócz /b można oczywiście używać innych parametrów polecenia dir, których lista dostępna jest po wydaniu w linii poleceń komendy dir /?. Plik wynikowy można utworzyć nie tylko w katalogu z którego pliki listujemy, ale także w dowolnej lokalizacji, podając pełną ścieżkę do niego, zamiast samej nazwy nazwyplikow.txt. Np. C:\Temp\nazwyplikow.txt

Metoda 2 – dla praktycznych – Total Commander

  1. Uruchamiamy Total Commandera
  2. Przechodzimy do interesującego nas katalogu
  3. Zaznaczamy pliki, których nazwy nas interesują
  4. Z menu Mark wybieramy jedno z poleceń
    • Copy Selected Names To Clipboard – kopiowanie samych nazw zaznaczonych plików
    • Copy Names With Path To Clipboard – kopiowanie nazw zaznaczonych plików, wraz z pełną ścieżką
    • Copy To Clipboard With All Details – kopiowanie nazw zaznaczonych plików wraz ze szczegółami (rozmiar, data, atrybuty)
    • Copy To Clipboard With Path+Details – kopiowanie nazw zaznaczonych plików wraz z pełną ścieżką i szczegółami wymienionymi w punkcie powyżej
  5. Opis ten z pewnością warto rozszerzyć o to jak zaznaczać pliki w Total Commanderze

31 thoughts on “Jak zrobić listę plików w katalogu (skopiować nazwy plików do pliku tekstowego)

    1. Łukasz

      Jest prostrza metoda, rodem jeszcze z starego Window 3.1.
      Należy utworzyc plik o nazwie np.: Nazwy_plików.bat
      W nim umiescić komędę DOS: dir /b /s *.*> Nazwy_plikow_katalogu.txt
      Plik zapisujkemy do interesującego nas katalogu. Jego uruchomienie spowoduje
      zapisamie pliku o nazwie: Nazwy_plikow_katalogu.txt w lokalnej lokalizacji z której został uruchomiany plik BAT.
      Działa w Windows 10 !!!

      1. Wirus Post author

        Ta metoda była od samego początku opisana we wpisie, w punkcie 1, przy czym uznałem ją za nieco trudniejszą w stosowaniu dla przeciętnego użytkownika, ze względu na konieczność użycia konsoli.

    1. Janek

      WielkieDzięki. Lubię pomysły z cmd, wzbogacają mnie. Czy jeszcze istnieje jakiś przełącznik ws strony kodowej, polskie znaki diakrytyczne nie wychodzą.

  1. Jurek

    nie ma takiego rozszerzenia Copy Selected Names To Clipboard w nowym totalu, kiedyś pamiętam kopiowałem pliki bez rozszerzeń, teraz nie mogę, co trzeba doinstalować (jakieś wtyczki)?

        1. Jurek

          Albo jestem ślepy, albo używam nie tego totala, bo w wersji 64 bitowej nie da się skopiować np: nazw plików mp3 bez ich rozszerzeń (mp3). Absolwent – Bawmy Się.mp3

    1. Wirus Post author

      Jasne, teraz chyba lepiej rozumiem – czegoś takiego, żeby SAME nazwy plików skopiować faktycznie nie ma w TC.
      W przypadku większej liczby plików posłużyłbym się chyba Notepad++ albo nawet Excelem, żeby odciąć co trzeba (choć sposobów na ucięcie rozszerzeń jest tak naprawdę milion różnych – zależnie od specyfiki samych nazw plików)

  2. Marek

    Witam.
    Mam taki problem. Otóż przeszukuje skryptem foldery na dysku w celu znalezienia plików z jakimś konkretnym numerem w nazwie, powiedzmy „1234”. I teraz chcialbym, żeby plik zawierający w nazwie te cyfry został skopiowany do folderu np. „Gotowe”, ale ten folder musi być w lokalizacji gdzie był plik a nie w stałej lokalizacji. I tu właśnie mam problem. Da się to zrobić ?. Pozdrawiam.

    1. Wirus Post author

      Wszystko da się zrobić – chociaż w tym przypadku odpowiedź wykracza nieco poza to co można sensownie i krótko opisać w tym miejscu.
      Jak rozumiem po znalezieniu pliku, skrypt musiałby wewnątrz katalogu, w którym został znaleziony plik, założyć podkatalog „Gotowe” (z uwzględnieniem możliwej sytuacji, że podkatalog taki już istnieje – wtedy nie komunikować błędu) i przenieść znaleziony plik do tego podkatalogu.
      Brzmi jak materiał na programik PowerShell’owy. W tym przypadku najsensowniej będzie poszukać w Google – zadanie brzmi jak coś, co ktoś już mógł napisać.

      Ewentualnie – krótka aplikacja w C#, np. z użyciem Directory.GetFiles (które pozwala szukać wg. maski i w podkatalogach)

  3. jddg

    Witam.
    Wlasnie mam problem z wylistowaniem listy plikow do pliku txt. Dopiero w W10 ktore mnie przeraza jest problem.
    Moja skladnia
    dir c:\ /o:n /s > c:\nazwa.txt
    i wywala blad.
    Jak teraz zrobic listing calego dysku ?

    1. Wirus Post author

      A jaki błąd? Bo jeżeli „Odmowa dostępu”, to polecam uruchomić konsolę (cmd.exe) jako administrator – wtedy polecenie:

      dir C:\ /o:n /s > C:\nazwa.txt

      zadziała bez problemu.

      Wystarczy wyszukać wiersz polecenia lub „cmd” w menu Start, kliknąć prawym klawiszem myszki i wybrać polecenie „Uruchom jako administrator”:

      1. jddg

        #Wirus. Dzieki za wsparcie. Faktycznie problemem byla odmowa dostepu do lokalizacji c: w celu zapisu listingu. Faktycznie cmd uruchomilem bez uprawnien admina ale poradzilem sobie juz inaczej. Wylistowalem liste plikow do katalogu Documents do ktorego cmd jak i ja jako uzytkownik ma dostep bez uprawnien admina. Dziala bez problemu ale dzieki wieeelkie za pomoc.

        1. jddg

          Jeszcze male ostatnie sprostowanie. cmd uruchomione jako admin to listing da dostep do WSZYSTKICH plikow na dysku (a w powyzszym moim rozwiazaniu wylistuje tylko te, do ktorych ma dostep uzytkownik nie w trybie admina. Cos jak pokaz / ukryj pliki systemowe).

          Czyli podsumowujac:
          CMD jako ADMIN wtedy dostep do wszystkich plikow i kazdej lokalizacji.

          Skladnia:
          DIR C: /O:N /S > c:\nazwa-pliku-listingu.txt

          Dzieki, pozdrowienia 4 all.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *