2013-08-23 16 views

Odpowiedz

3

spróbować tego na wierszu cmd powłoki:

for /r %a in (*.asf) do @echo %~tza %~nxa 

tylko nazwę:

for /r %a in (*.asf) do @echo %~nxa 
+0

Niż tak bardzo. Naprawdę mi pomógł. :) –

3

Można spróbować

dir /s | findstr .asf 

Edycja: Myślę, że to pomoże. To jest mój test.bat

@echo off 
for /f "usebackq TOKENS=*" %%i in (`dir /s /b *.txt`) do echo %%~nxi 
pause 

/f usebackq mówi, że cokolwiek wewnątrz małe cudzysłowy są wykonywane jako polecenie dos

TOKENS=* przetwarza nazwy plików ze spacjami również.

echo %%~nxi - n wyświetla listę tylko nazw plików i x zawiera tylko listę numerów wewnętrznych. Łączenie obu wyświetlanych nazw plików i rozszerzeń.

Edytuj: usebackq nie jest konieczne, zamiast tego można użyć pojedynczego cudzysłowu.

+0

Dzięki za odpowiedź. Jednak to wciąż pokazuje pełną ścieżkę każdego pliku, chciałbym tylko wyodrębnić "filename.asf". – Nicknz125

+0

@ Nicknz125 plz zobacz edycję. –

+0

'usebackq' oznacza, że ​​schemat wyceny został zmieniony, ** nie ** następuje polecenie. Zobacz 'for /?', Aby uzyskać pomoc. Nie potrzebujesz tutaj 'usebackq'. – Endoro

4

Sprawdź:

FORFILES /S /C "CMD /C ECHO @relpath" 
+0

To jest doskonałe. Działa fantastycznie! –

7

bardzo późno, ale może być przydatne dla kogoś. Chyba prosi o tej komendy jedna linia

forfiles /m *.asf /s >d:\Hitendra.Txt

tutaj, jak wszyscy wiemy, po tym (>) ja ratuję wynik w D dysku mojego komputera z nazwa pliku Hitendra. Txt

+0

Dzięki, tego właśnie szukam. – deathlock

Powiązane problemy