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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Duda con archivos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con archivos  (Leído 3,100 veces)
enrique342

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Duda con archivos
« en: 25 Julio 2016, 21:11 pm »

Hola soy nuevo en el foro, y tengo una gran duda,

Habrá alguna manera de poder renombrar con un BATCH los archivos (PDF) y poner al principio la primera palabra de la carpeta donde se encuentran?, así mismo hacer eso con las sub-carpetas??



ejemplo

MALDONADO A-B1-27 1-03-0034.pdf


En línea

[Arg] $triker;


Desconectado Desconectado

Mensajes: 380


¿Yo, tóxico?


Ver Perfil WWW
Re: Duda con archivos
« Respuesta #1 en: 29 Julio 2016, 03:44 am »

Puede ser que algún animal de por acá te lo resuelva, pero Batch no es muy hábil leyendo datos y menos haciendo control flow. Con un poco de suerte, te lo hacen en Ruby o Python o algo así. Suerte, de todas maneras.


En línea

8Noobs - Comunidad para todos y todas, sin importar sus conocimientos en informática.

--> Unirse a 8Noobs <--
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Duda con archivos
« Respuesta #2 en: 29 Julio 2016, 05:04 am »

Batch no es para nada lo más apropiado como ya te han indicado, yo te sugiero hacerlo en VBS para no depender de intérpretes de terceros, pero bueno, suponiendo que no tengas conocimientos en otro lenguaje superior a Batch entonces puedes llevarlo a cabo de la siguiente manera:
Código:
@Echo Off & SetLocal EnableDelayedExpansion

Set "WorkindDir=C:\documentos\"
PUSHD "%WorkindDir%"

For /D /R %%d In ("*") Do (
    Echo:Folder: "%%~fd"
    PUSHD "%%~fd"
    Echo:---------------
    Echo+
    For %%f In ("*.pdf") DO (
        Call :GetFirstWord "%%~nd"
        Echo:Old: "%%~ff"
        Echo:New: "%%~dpf!WORD! %%~nxf"
        Echo+
        Rename "%%~ff" "!WORD! %%~nxf"
    )
)

Pause & Exit /B 0

:GetFirstWord
For %%w in (%~1) Do (
    Set "WORD=%%~w"
    GoTo:EOF
)

Asegúrate de que los nombres de carpetas no contengan los siguientes caracteres reservados para el lenguaje: ( ) [ ] % & ^

Resultado de ejecución:
Código:
Folder: "C:\test\pepe manolo ibiza"
---------------

Old: "C:\test\pepe manolo ibiza\doc 1.pdf"
New: "C:\test\pepe manolo ibiza\pepe doc 1.pdf"

Old: "C:\test\pepe manolo ibiza\doc 2.pdf"
New: "C:\test\pepe manolo ibiza\pepe doc 2.pdf"

Old: "C:\test\pepe manolo ibiza\doc 3.pdf"
New: "C:\test\pepe manolo ibiza\pepe doc 3.pdf"

Old: "C:\test\pepe manolo ibiza\pepe doc 1.pdf"
New: "C:\test\pepe manolo ibiza\pepe pepe doc 1.pdf"

Folder: "C:\test\pepe manolo ibiza\AAA BBB"
---------------

Old: "C:\test\pepe manolo ibiza\AAA BBB\doc 1.pdf"
New: "C:\test\pepe manolo ibiza\AAA BBB\AAA doc 1.pdf"

Old: "C:\test\pepe manolo ibiza\AAA BBB\doc 2.pdf"
New: "C:\test\pepe manolo ibiza\AAA BBB\AAA doc 2.pdf"

Old: "C:\test\pepe manolo ibiza\AAA BBB\doc 3.pdf"
New: "C:\test\pepe manolo ibiza\AAA BBB\AAA doc 3.pdf"

Presione una tecla para continuar . . .

Saludos
« Última modificación: 29 Julio 2016, 05:13 am por Eleкtro » En línea



enrique342

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Duda con archivos
« Respuesta #3 en: 29 Julio 2016, 19:22 pm »

Muchas gracias Elektro, solo una duda mas, hay manera que se pueda hacer con todos los archivos no solo con pdf y dos, que pueda hacerlo con las subcarpetas dentro de cada usuario?
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Duda con archivos
« Respuesta #4 en: 29 Julio 2016, 21:29 pm »

hay manera que se pueda hacer con todos los archivos no solo con pdf

Reemplaza esto:
Citar
Código:
For %%f In ("*.pdf")

Por esto otro:
Código:
For %%f In ("*.*")



y dos, que pueda hacerlo con las subcarpetas dentro de cada usuario?

El código que publiqué teoricamente ya es capaz de recorrer todos los subdirectorios (visibles) del directorio principal de trabajo, el cual está definido en la variable:
Citar
Código:
Set "WorkindDir=C:\documentos\"

...¿encuentras algun problema con la recursión de carpetas?

Saludos
En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda con archivos .act
Multimedia
bob76 1 2,009 Último mensaje 16 Julio 2005, 15:04 pm
por Songoku
Archivos .sis [duda]
Hacking Mobile
skapunky 4 13,659 Último mensaje 4 Febrero 2006, 15:50 pm
por SirGraham
duda con archivos
Programación Visual Basic
Mr.Chispa 2 1,480 Último mensaje 27 Septiembre 2006, 10:07 am
por Mr.Chispa
duda con archivos .res y .rc
Programación Visual Basic
Anteros 6 2,827 Último mensaje 6 Diciembre 2007, 04:27 am
por cobein
Duda con archivos NRG
Software
Bender-Deicide 4 3,911 Último mensaje 21 Febrero 2008, 16:51 pm
por Nakp
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines