dir
está percorrendo a árvore no diretório, mas apenas classificando as entradas nos diretórios folha. Isso é um problema porque é um sistema de arquivos FAT. Em um sistema de arquivos FAT, as entradas em qualquer diretório determinado não são classificadas, fazendo com que o tree-walk não seja classificado. Os diretórios NTFS, por outro lado, são sempre classificados.
Você tem algumas soluções. O mais fácil seria canalizar a saída através de sort
:
dir /b/s | sort
(Se você estiver usando sort
para fazer a encomenda, não há necessidade da opção /on
para dir
.)
Sua outra alternativa seria usar um ls
no estilo Unix, o que certamente faria isso direito. Exemplos seriam o ls
em Cygwin ou no meu próprio Hamilton C shell .