Como posso fornecer a lista do arquivo no meu diretório?

0

Eu preciso de um arquivo em lotes que forneça uma lista de todos os meus arquivos da minha pasta separados por um ";" em um arquivo.

Como a lista do meu diretório:

dir1
dir2
 a.txt
b.sql
c.html

O arquivo de exportação deve ser como:

a.txt; b.sql; c.html

Já uso: dir /a /b /-p /0:gen >list.txt , mas está incluído o nome do diretório & Eu não posso separá-los por ponto e vírgula: (

Por favor ajude

    
por Amir 15.11.2010 / 11:27

2 respostas

2

Você pode usar este arquivo em lote simples:

@echo off
setlocal enabledelayedexpansion enableextensions
set LIST=
for %%F in (*) do set LIST=!LIST!;%%F
>list.txt echo %LIST:~1%

Isso simplesmente itera todos os arquivos (excluindo diretórios) e acrescenta a uma variável que é impressa no final.

Uma maneira mais elaborada de fazer o mesmo com o benefício adicional que você pode cancelar no meio do caminho e ainda reter as informações até agora seria

@echo off
set FIRST=1
for %%F in (*) do (
  if defined FIRST (
    set FIRST=
    <nul set /P X=%%F
  ) else (
    <nul set /P X=;%%F
  )
)
    
por 15.11.2010 / 14:31
1

Você pode usar isto apenas para obter uma lista básica ... então trocar as quebras de linha por ponto e vírgula

dir /A-D /ON /B > list.txt

nota:

/A-D: minus Directories
/ON: Order by Name (not sure if you need this, but typically helpful)
/B: Bare format (e.g. just the names, no dates etc.)
    
por 15.11.2010 / 12:25

Tags