elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Mostrar listado de carpeta, eliminando su path
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mostrar listado de carpeta, eliminando su path  (Leído 2,445 veces)
ovichan

Desconectado Desconectado

Mensajes: 81


Ver Perfil
Mostrar listado de carpeta, eliminando su path
« en: 29 Diciembre 2011, 19:01 pm »

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

Código:
@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


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.817



Ver Perfil
Re: Mostrar listado de carpeta, eliminando su path
« Respuesta #1 en: 29 Diciembre 2011, 23:00 pm »

Hola

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

Supongamos que esta es la ruta:

Código:
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?
Código:
carpeta 1\subcarpeta 1
carpeta 1\subcarpeta 2

carpeta 2\subcarpeta 1
carpeta 2\subcarpeta 2

De ser así...

Código
  1. @echo off
  2. Color 0A
  3. Title Listar archivos carpetas
  4.  
  5. For /F "tokens=*" %%_ in ('Dir /B /S /AD "%CD%"') do (Call :Rename "%%_")
  6.  
  7. Echo %~p1 >> "lista de titulos.txt"
  8. 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:
Código:
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
  1. @echo off
  2. Color 0A
  3. Title Listar archivos carpetas
  4.  
  5. For /F "tokens=*" %%_ in ('Dir /B /S /AD "%CD%"') do (Call :Rename "%%_")
  6.  
  7. Set Path=%~p1
  8. Set PATH=%PATH:~10%
  9. Echo %PATH%>>"lista de titulos.txt"
  10. Goto :EOF


« Última modificación: 29 Diciembre 2011, 23:27 pm por EleKtro H@cker » En línea

ovichan

Desconectado Desconectado

Mensajes: 81


Ver Perfil
Re: Mostrar listado de carpeta, eliminando su path
« Respuesta #2 en: 29 Diciembre 2011, 23:46 pm »

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.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Sobrescribiendo y eliminando boot.ini
Programación Visual Basic
FaiF (A¥åHøRå) 1 1,125 Último mensaje 19 Enero 2006, 01:35 am
por el_chente23
Exploitation of [Path Normalization Bug] & [Path Truncation Bug]
Nivel Web
tragantras 6 7,219 Último mensaje 30 Octubre 2010, 23:25 pm
por Enrique357
Mostrar carpeta oculta sin saber la ruta (chflags hidden)
Mac OS X
brank87 2 5,619 Último mensaje 12 Septiembre 2010, 19:28 pm
por putus
Mostrar advertencia al abrir una carpeta.
Dudas Generales
Spica 3 3,309 Último mensaje 28 Febrero 2016, 00:44 am
por ivancea96
Problema con mostrar listado
Programación C/C++
Rhythmical 1 2,051 Último mensaje 16 Noviembre 2017, 22:21 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines