Abra o prompt de comando.
cd %homedrive%%homepath%\My Documents
dir /b > filenames.txt
filenames.txt
conterá uma lista de todos os seus arquivos.
Como posso obter uma lista de texto ou um despejo de dados de nomes de arquivos de um diretório do Windows? Eu tenho a seguinte pasta configurada:
[My Documents]
--SomeFileName.doc
--AnotherFileName.bmp
--AnotherMoreFileName.zip
--...
Eu quero obter todos os nomes de arquivos dos arquivos que estão dentro da pasta (Meus Documentos) em apenas um processo e fazer os nomes dos arquivos como uma lista que eu possa copiar para o Bloco de Notas.
Atualmente, meu processo é pressionar F2 para destacar o nome do arquivo e pressionar CTRL + C para copiá-lo e colá-lo no Bloco de Notas. e, em seguida, empilhe-o na lista. Eu quero ser capaz de obter esses nomes de arquivos de forma rápida e fácil.
Eu quero evitar qualquer software externo, se possível; Eu só quero utilizar o software que está instalado no meu laptop (Office e Windows XP, embora o Vista ou Windows 7 não seria tão ruim de saber).
Abra o powershell e digite o seguinte:
PS> cd "~\My Documents"
PS> ls | Where-Object {!($_.PSIsContainer)} | foreach-object {add-content -path filelist.txt -value $_.name}
O que acontece aqui é você ls
(listar) todos os arquivos no diretório e enviar essa lista através de um filtro que remove diretórios (onde-objeto não é um container). Em seguida, você envia a lista filtrada para um loop que adiciona os nomes de arquivo ao seu arquivo txt, um de cada vez. $_
representa um objeto na lista.
Você pode fazer todos os tipos de outras coisas legais com isso, como -recurse
no comando ls, que forneceria todos os arquivos em todos os diretórios do diretório atual.
Você pode substituir $_.name
por $_.fullName
para obter o caminho completo ou $_.Extension
para a extensão. Veja a documentação para a classe fileinfo no msdn para ver todas as coisas legais que você pode fazer com um objeto fileinfo.