Linha de Comando imprime todos os nomes de arquivos no diretório

2

Eu tenho um diretório que contém cerca de 3000 imagens, o que eu gostaria de fazer é imprimir (para um arquivo, se possível ou até para a tela) os nomes de imagens inteiras depois de fazer alguma formatação e concatenação de strings,
por exemplo:

Gostaria que cada nome de imagem fosse transformado na seguinte fórmula

tick.png  -->> <image src="tick.png" />

Obrigado

    
por Anas Nakawa 02.02.2011 / 11:01

2 respostas

4

O que eu sugiro que você faça é escrever um simples arquivo em lote que processe os arquivos no diretório e os envie em o formato dado.

Por exemplo, crie o arquivo run.bat e digite o seguinte comando:

FOR %%F IN (*.png) DO @echo ^<img src='%%F'/^>

Agora, você pode executar o comando na linha de comando, digitando:

run

Se você quiser salvar os resultados do processo em lote em um arquivo (como images.html), poderá usar:

run > images.html

Se você precisar adicionar mais comandos / etapas de processamento, basta editar o arquivo em lotes.

Para uma boa referência em comandos (como loops FOR), veja Programming CMD no Wikilivros. Observe que, para tarefas em lote complicadas, o interpretador de linha de comando pode não ser suficiente. Para uma programação em lote mais complexa, recomendo que você aprenda uma linguagem de script real como o Python.

    
por 02.02.2011 / 11:25
3

Lá vai você:

for %f in (*.png) do echo ^<img src="%f" /^> >> myFileList.txt

Explicação:

for %f in (*.png) do <command>

Um loop simples para todos os arquivos no diretório atual que correspondem a *.png .

echo ^<img src="%f" /^> >> myFileList.txt

Echo a string no arquivo (saída de redirecionamento via >> , isso será anexado ao arquivo. > truncará o arquivo). ^ precisa escapar do < .

    
por 02.02.2011 / 11:25