Wildcard do pobierania plików według dokładnego rozszerzenia
Podczas diagnozowania większego skryptu wsadowego, który wymaga pętli plików*.log
rozszerzenie Znalazłem zabawne zachowanie. W przykładowym katalogu z takimi plikami:
bar.log
foo.log
foo.log.ignore
foo.log.log-1676521099
not-related
... mój mały skrypt testowy:
@echo off
setlocal enabledelayedexpansion
set DEF_LOG="C:\test\*.log"
for %%i in (%DEF_LOG%) do (
echo %%i
)
... drukuje to:
C:\test\bar.log
C:\test\foo.log
C:\test\foo.log.log-1676521099
Poszukując głębiej, odkryłem, że tak zaprojektowano symbole wieloznaczne systemu Windows:
C:\>dir "C:\test\*.log" /b
bar.log
foo.log
foo.log.log-1676521099
Moje pytanie brzmi: jak mogę wymienić wszystkie pliki, które się kończądokładnie z.log
?