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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Crear un batch
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Crear un batch  (Leído 2,409 veces)
yottaXT

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Crear un batch
« en: 15 Marzo 2017, 02:24 am »

Hola como están,

Estuve leyendo algunas guías para comenzar con los batch, y bueno he hecho varios ejercicios etc.

Ahora ya estoy en el punto que quiero hacer un bat que realice una función útil para mi.

Tengo una serie de carpetas que cada una tiene uno o 2 archivos y es bastante tedioso abrir carpeta por carpeta manualmente copiando cada archivo y pegandolo en una carpeta nueva hasta tener todos los archivos en una sola carpeta y borrar las demás que ya no tengan nada.

La primera traba que tuve fue bastante pronta, no se como decirle al bat que solo quiero que revise carpetas osea que ignore todos los demás archivos dentro de esa dirección.

El segundo problema, hay algunas carpetas dentro de esa dirección que no quiero que sean escrutadas por el bat osea que las ignore, pero lo bueno es que las carpetas que SI quiero que sean escrutadas tienen algo en común, todas tienen al inicio un símbolo de $.

Ahora explicar lo que quiero, quiero que el bat revise si existen carpetas con el signo $*.* que abra esas carpetas y copie los archivos *.* a una carpeta DESTINO, luego que borre solo la carpeta que ya ha sido procesada, al final quedara la carpeta DESTINO con todos los archivos de las carpetas ORIGEN y estas a su vez quedaran eliminadas de la ruta.

Acepto cualquier tipo de ayuda, desde porciones de código o guías, incluso manuales que expliquen ese contexto, si son muy amables y tienen tiempo el código completo no estaría mal.

Agradezco de antemano la atención brindada.

PD: De ser posible agreguen links de manuales para principiantes con muchas intenciones de aprender, de nuevo gracias.  :D


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Crear un batch
« Respuesta #1 en: 16 Marzo 2017, 02:50 am »

Estuve leyendo algunas guías para comenzar con los batch, y bueno he hecho varios ejercicios etc.

Ahora ya estoy en el punto que quiero hacer un bat que realice una función útil para mi.

Mi primer consejo: No uses Batch.

"¿Por qué?" -Por que no.

"¿Pero por qué no?" -Por que es una pérdida de tiempo y consumo innecesario. Puedes hacer lo mismo de forma más simple y mucho más práctica y eficiente en cualquier otro lenguaje; de hecho a Batch no se le puede considerar un lenguaje de programación.

Te lo dice alguien que empezó en Batch y estuvo varios años hasta dominar el "lenguaje" a la perfección, y luego se dió cuenta del mundo que habia por descubrir áhí fuera más allá de Batch... y mucho más gratificante que Batch.

Acepto cualquier tipo de ayuda, desde porciones de código o guías, incluso manuales que expliquen ese contexto, si son muy amables y tienen tiempo el código completo no estaría mal.

Aunque quizás no te lo parezca ahora mismo, advertirte sobre la inutilidad de Batch es la mejor ayuda que te pueden brindar (por que así evitarás malgastar tiempo en meses o años en algo que no te dará ningún beneficio en comparación), más que la ayuda de ofrecerte un código en Batch que haga lo que quieres que haga. Hay otros lenguajes soportados de forma "nativa" en Windows, vomo VisualBasic Script, javascript y PowerShell... es lo que deberías aprender si no quieres salirte del instrumental de Windows, a menos que quieras optar por un mejor camino con Ruby o Python, o lenguajes como C#, Java o VB.NET, lo que sea excepto Batch, vaya.



Ahora explicar lo que quiero, quiero que el bat revise si existen carpetas con el signo $*.* que abra esas carpetas y copie los archivos *.* a una carpeta DESTINO, luego que borre solo la carpeta que ya ha sido procesada, al final quedara la carpeta DESTINO con todos los archivos de las carpetas ORIGEN y estas a su vez quedaran eliminadas de la ruta.

Puedes usar un for directories recursive, FOR /D /R:

Código
  1. @Echo OFF
  2.  
  3. Set "src=%CD%"
  4. Set "dst=%HomeDrive%\Folder\"
  5. (MKDIR "%dst%")2>NUL
  6.  
  7. For /D /R "%src%" %%# In ("$*") Do (
  8. Echo:Moving "%%~f#"...
  9. (
  10. Move /-Y "%%~f#" "%dst%\%%~n#"
  11. )1>NUL || (
  12. Echo:Failed to move "%%~f#"...
  13. )
  14. )
  15.  
  16. Exit /B 0

¡Saludos!


« Última modificación: 16 Marzo 2017, 02:55 am por Eleкtro » En línea



yottaXT

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Crear un batch
« Respuesta #2 en: 17 Marzo 2017, 02:18 am »

Aprecio grandemente este comentario, he leído varios post en los que has comentado, casi siempre con una respuesta acertada, yo conozco Java a nivel intermedio, estaba buscando una herramienta para hacer tareas sencillas de automatización, que no me llevara mucho tiempo aprender y pudiese aplicar en cualquier momento sobre windows, con la simplicidad de un bloc de notas, por eso me interese en el batch, de los lenguajes que mencionaste anteriormente, ¿ cual consideras que logra el propósito que busco?  de manera eficiente, sencilla, que tenga una curva de aprendizaje rápida y consideres valioso de invertir tu tiempo.

Nuevamente agradezco tu conocimiento y experiencia, de ser posible adjunta algún link o manual del lenguaje para iniciarme.

PD: tengo algunas guías de VBS ¿quizá sea buena idea invertir mi tiempo en ese?
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Crear un batch
« Respuesta #3 en: 17 Marzo 2017, 04:24 am »

de los lenguajes que mencionaste anteriormente, ¿ cual consideras que logra el propósito que busco?  de manera eficiente, sencilla, que tenga una curva de aprendizaje rápida y consideres valioso de invertir tu tiempo.

Por nivel de complejidad en general basándome en mi criterio personal: Batch, VBS, javascript for Windows y PowerShell  -puedes desarollar scripts en todos ellos dese Windows/Notepad sin necesidad de descargarte ningún intérprete adicional.

tengo algunas guías de VBS ¿quizá sea buena idea invertir mi tiempo en ese?

Antes que Batch, y en mi opinión personal: sí, por supuesto, tienes mucho más que ganar invirtiendo tu tiempo en aprender VBS que Batch. Con VBS puedes hacer todo lo que puedas hacer en Batch con mayor control.

¡Saludos!
En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
crear menu batch
Scripting
Ari Slash 8 16,040 Último mensaje 26 Septiembre 2008, 01:07 am
por Ari Slash
Crear malware batch
Análisis y Diseño de Malware
F0rt3 2 4,628 Último mensaje 20 Agosto 2010, 17:51 pm
por jdc
Crear Batch
Scripting
adsla 5 5,135 Último mensaje 4 Noviembre 2011, 23:15 pm
por adsla
Como crear un xat en batch??q
Scripting
Stakewinner00 4 3,065 Último mensaje 9 Mayo 2012, 20:42 pm
por Stakewinner00
Crear usuarios con un batch
Programación General
juntacadaveres 3 5,587 Último mensaje 20 Abril 2019, 12:10 pm
por juntacadaveres
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines