Mostrar listado de carpeta, eliminando su path

Iniciado por ovichan, 29 Diciembre 2011, 19:01 PM

0 Miembros y 1 Visitante están viendo este tema.

ovichan

Bueno el hecho es que estoy intentando listar todas las carpetas en donde tengo una discografia de musica. Todo va bien con este comando

@echo off
color 0A
title Listar archivos carpetas
cd "path"

dir /s /b /a:d >"lista de titulos.txt"
pause>nul


Sin embargo en el txt aparece el path de cada carpeta de donde esta ubicada en windows, y me gustaria que se filtrara para que solo aparecieran el nombre de las carpetas y subcarpetas. Habia pensado en la posibilidad de abrir desde el bat el txt, al terminar el listado, buscar el string del path y sustituirlo por echo. o vacio. Pero a esto ya no llego con este lenguaje ^^

Gracias de antemano, y saludos

Eleкtro

#1
Hola

EDITO:
Te vendría bien leerte esto:
http://ss64.com/nt/syntax-args.html

Supongamos que esta es la ruta:

C:\Musica\discografia\carpeta 1\subcarpeta 1
C:\Musica\discografia\carpeta 1\subcarpeta 2

C:\Musica\discografia\carpeta 2\subcarpeta 1
C:\Musica\discografia\carpeta 2\subcarpeta 2


Así es como quieres que se muestre?
carpeta 1\subcarpeta 1
carpeta 1\subcarpeta 2

carpeta 2\subcarpeta 1
carpeta 2\subcarpeta 2


De ser así...

Código (dos) [Seleccionar]
@echo off
Color 0A
Title Listar archivos carpetas

For /F "tokens=*" %%_ in ('Dir /B /S /AD "%CD%"') do (Call :Rename "%%_")
Pause
Exit

:Rename
Echo %~p1 >> "lista de titulos.txt"
goto :EOF





Si no te convence, aqui te hago otro, solo tienes que AJUSTAR el número de esta variable "Set PATH=%PATH:~10%"

Ejemplo:
Si la ruta es:
123456789\discografia\carpeta 1

Y uso "Set PATH=%PATH:~10%", La variable Corta los 10 primeros dígitos, y quedaría así:
discografia\carpeta 1


Código (DOS) [Seleccionar]
@echo off
Color 0A
Title Listar archivos carpetas

For /F "tokens=*" %%_ in ('Dir /B /S /AD "%CD%"') do (Call :Rename "%%_")
Pause
Exit

:Rename
Set Path=%~p1
Set PATH=%PATH:~10%
Echo %PATH%>>"lista de titulos.txt"
Goto :EOF








ovichan

Eres un crack, eso es lo que buscaba, aunque no entiendo mucho lo de tokens. Con respecto al link, los comandos que lei eran iguales que en el manual de bat avanzado de la web, pero no sabia como aplicarlo. Saludos y gracias.