Using Windows command line to List files with subdirectory
I want to output: .\folder1.jpg,.\foler1.jpg....
I know if we use dir /s/b *.jpg > list.txt that will get something like C:\download\folder\folder1.jpg, I don't want to that, I just need .\folder1.jpg
Clarificação Variável (abaixo)
- Onde a lógica abaixo é
FOR %X IN ("folder1","Folder2")
ouSET Folders=("Folder1","Folder2","Folder3","Folder4")
você colocará seu"Folder1"
,"Folder2"
, e assim por diante apenas com o dobro aspas e vírgulas para cada nome de pasta que você deseja procurar e listar o./Foldername/file.jpg
para o arquivo que você está anexando ao echo saída. - Para o Exemplo de cópia da linha de comando , você deverá fazer um
CD /D C:\Path
no diretório pai em que as subpastas onde os arquivos.JPG
existem, já que a lógica está implícita supondo que você esteja o diretório pai para encontrar essas subpastas filhas e os tipos de arquivos / extensões que eles contêm. - Para os outros exemplos, basta conectar o diretório pai que contém todas as subpastas filhas em que os arquivos
.JPG
existem no valorSET ParentDir=
e tudo deve funcionar de outra forma conforme o esperado. - As outras variáveis que são
SET
devem ser auto-explicativas, presumo que sejam nomeadas muito próximas do que elas significam, mas me avise se precisar de mais esclarecimentos em contrário.
Exemplo de cópia da linha de comando
FOR %X IN ("folder1","Folder2") DO FOR /F "TOKENS=*" %F IN ('DIR /B /A-D ".\%~X\*.jpg"') DO ECHO .\%~X\%~F>>C:\Path\Log.txt
Definir exemplo de cópia da linha de comando de variáveis
(Use o arquivo abaixo para definir os nomes das pastas e as extensões de arquivo para o comando DIR
. Além disso, insira o caminho completo do diretório pai onde as subpastas que você deseja anexar nesse formato estão localizadas. )
SET FileType=*.jpg
SET ParentDir=C:\Users\Name\Desktop
SET Folders=("Folder1","Folder2","Folder3","Folder4")
SET LogFile=C:\Path\LogFile.txt
CD /D "%ParentDir%"
FOR %X IN %Folders% DO FOR /F "TOKENS=*" %F IN ('DIR /B /A-D ".\%~X\%FileType%"') DO ECHO .\%~X\%~F>>"%LogFile%"
Exemplo de script em lote com variáveis de configuração
@ECHO ON
SET FileType=*.jpg
SET ParentDir=C:\Users\Name\Desktop
SET Folders=("Folder1","Folder2","Folder3","Folder4")
SET LogFile=C:\Path\LogFile.txt
CD /D "%ParentDir%"
FOR %%X IN %Folders% DO FOR /F "TOKENS=*" %%F IN (
'DIR /B /A-D ".\%%~X\%FileType%"'
) DO ECHO .\%%~X\%%~F>>"%LogFile%"
GOTO EOF