Visualizzazione di nomi di file con un certo numero di caratteri nella row di command

Devo elencare tutti i file di text sull'unità C i cui nomi sono lunghi sette caratteri. Ho provato il seguente command

DIR ???????.txt 

Tuttavia, questo command visualizza file con sette caratteri e less. Quale command potrei utilizzare per visualizzare solo i file con sette caratteri?

La wildcard ? corrisponde a qualsiasi carattere al più una volta, in modo dir ???????.txt corrisponderà a qualsiasi file txt con un'estensione preceduta da un massimo di sette caratteri. Non esiste una carattere jolly che corrisponda a qualsiasi carattere esattamente una volta che dir support direttamente, ma l'output del command può essere inserito in findstr , che support espressioni regolari.

In questo caso, dir /B | findstr /R "^.......\.txt" dir /B | findstr /R "^.......\.txt" farà il trucco.

Ho scritto un file batch che esamina l'output di dir ???????.txt e echi solo i file che hanno 7 caratteri (11, compreso .txt).

 @ECHO OFF REM --- Call Subroutine for all files of Len 1 - 7 characters --- For /f "delims=*" %%a in ('dir "c:\???????.txt" /b') do Call :CheckLen %%~nxa REM --- End Batchfile --- Goto :eof :CheckLen REM --- Place Filename in Variable FNAME --- Set FName=%* REM --- IF Valiable FName <> First 10 characters of FName, FName has --- REM --- 11 Characters (7 + .txt). Echo Output --- if NOT "%FName%"=="%FName:~0,10%" Echo %FName% 

Nota: nella row 'dir "c:\???????.txt" /b' , aggiungere /s se si desidera anche cercare le sottodirectory di C :. Ciò richiederà molto tempo senza output.

 DIR /b /s | findstr /r /i "\\.......\.txt$"