Możliwe duplikaty:
Uzyskaj rekurencyjne nazwy plików w wierszu polecenia
Chciałbym rekurencyjnie wyświetlić listę wszystkich plików w katalogu, pokazując tylko nazwy plików (bez rozszerzeń i bez pełnych ścieżek). Używam Windows / DOS.
Najbliżej mogę dostać się dir
było dir /s /b
, ale to wyświetla pełne ścieżki, a także pokazuje rozszerzenia.
Cóż, może mógłbym żyć z rozszerzeniami, ale muszę pozbyć się ścieżek!
Jakieś pomysły?
windows-xp
command-line
filenames
dir
David B.
źródło
źródło
Odpowiedzi:
Jeśli potrzebujesz listy zapisanej w pliku, dołącz
>> C:\Path\To\list_file.txt
ją na końcufor
polecenia.Jeśli ostatecznie chcesz rozszerzeń, zmień
%~ni
na%~nxi
Aby użyć w pliku wsadowym, zmień wszystko
%
na%%
źródło
dir
polecenia.Jeśli chcesz załadować PowerShell, to polecenie powinno to zrobić.
źródło
Robienie czegoś takiego powinno dać ci to, czego chcesz:
@for /f "delims=" %a in ('Dir /s /b %systemdrive%') do echo %~na
Po prostu potokuj wyjście do pliku i użyj go stamtąd, jeśli to konieczne.
źródło
Nie wiem, czy uważasz, że jest to oprogramowanie innej firmy, czy nie, ponieważ jest to oprogramowanie Microsoft i jest dostarczane z wersją 7, ale PowerShell dość łatwo rozwiąże większość problemów. Jeśli jeszcze go nie zainstalowałeś, jest dostępny dla XP na stronie Microsoftu.
źródło