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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [APORTE] [BATCH] Folders2List
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [APORTE] [BATCH] Folders2List  (Leído 2,445 veces)
Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.877



Ver Perfil
[APORTE] [BATCH] Folders2List
« en: 12 Abril 2014, 00:31 am »

Hola

Este Script es el hermano de este otro Script, genera un archivo de texto que contiene la lista de estructura de carpetas del directorio de trabajo y de sus subdirectorios, el directorio de trabajo se puede modificar en las variables del Script, y la lista de capetas se registra usando la ruta relativa de los archivos de dicho directorio de trabajo.

El Script tiene 2 métodos de listar las carpetas, que son: 1. Listado normal, y 2. Listado incluyendo carpetas ocultas.
El Script tiene la funcionalidad de medir el tiempo transcurrido de la operación.

Todo lo que he mencionado se puede configurar en las variables que están documentadas con comentarios de ayuda en el código.

· Una imagen de muestra:


· El código:

Folders2List.cmd
Código
  1. @Echo OFF
  2.  
  3.  
  4.  
  5. REM =================
  6. REM Console Settings:
  7. REM =================
  8.  
  9. Title Folders2List - By Elektro
  10. Mode Con Cols=150 Lines=50
  11. CHCP 1252 1>NUL & REM Windows-1252, Spanish-Latin.
  12.  
  13.  
  14.  
  15. REM =====
  16. REM Info:
  17. REM =====
  18.  
  19. Echo  ------------------------------------------------------------------------------------------------------------------------------------
  20. Echo  This script writes a textfile containing the relative paths of the folder structure at the working directory and it's subdirectories
  21. Echo  ------------------------------------------------------------------------------------------------------------------------------------
  22.  
  23.  
  24.  
  25. REM ====================
  26. REM User defined values:
  27. REM ====================
  28.  
  29. REM This value indicates the directory where to list it's folder structure.
  30. Set "WorkingDir=%CD%"
  31.  
  32. REM This value indicates the resulting folder list.
  33. Set "OutputFile=%CD%\Folders.txt"
  34.  
  35. REM This value indicates how the hidden folders are threated when listing the folder structure.
  36. REM  True = List folders and also folders with the 'hidden' attribute.
  37. REM False = List only normal folders without the 'hidden' attribute.
  38. Set "IncludeHiddenFolders=True"
  39.  
  40.  
  41.  
  42. REM =====
  43. REM Main:
  44. REM =====
  45.  
  46. :: Display starting info.
  47. Echo [i] Working Directory...: %WorkingDir%
  48. Echo [i] Output file.........: %OutputFile%
  49. Echo [i] Include Hidden Files: %IncludeHiddenFolders%
  50.  
  51. :: Call Methods.
  52. Call :CheckErrors
  53. Call :StartTimer
  54. Call :ListFolders "%IncludeHiddenFolders%"
  55. Call :StopTimer
  56.  
  57. :: Finish.
  58. Echo [i] Done!           | MORE
  59. Echo [i] Listed Folders: %FolderCount% folders.
  60. Echo [i] Elapsed Time..: %ElapsedTime%
  61. Pause&Exit
  62.  
  63.  
  64.  
  65. REM ========
  66. REM Methods:
  67. REM ========
  68.  
  69. :StartTimer
  70. Set "StartingDate=%Date%"
  71. Set "StarttingTime=%Time:~0,-3%"
  72. Goto :EOF
  73.  
  74.  
  75. :StopTimer
  76. (
  77. Echo Minutes = DateDiff^("n", "%StartingDate% %StarttingTime%", Now^)
  78. Echo WScript.Echo Minutes ^& " Minutes"
  79. )>"%TEMP%\%~n0 MinuteDiff.vbs"
  80.  
  81. For /F "Tokens=*" %%# In (
  82. 'Cscript.exe /Nologo "%TEMP%\%~n0 MinuteDiff.vbs"'
  83. ) Do (
  84. Set "ElapsedTime=%%#"
  85. )
  86.  
  87. Goto:EOF
  88.  
  89.  
  90. :ListFolders
  91. Echo [+] Collecting folders, this operation could take some minutes long, please wait...
  92. If /I "%~1" EQU "True"  (Call :ListHiddenFolders)
  93. If /I "%~1" EQU "False" (Call :ListNormalFolders)
  94. Goto:EOF
  95.  
  96.  
  97. :ListNormalFolders
  98. (FOR /D /R "%WorkingDir%" %%# in ("*") DO (
  99. Set "Folder=%%~f#"
  100. Call Echo %%Folder:%WorkingDir%=.%%
  101. Set /A "FolderCount+=1"
  102. ))>"%OutputFile%"
  103. Goto:EOF
  104.  
  105.  
  106. :ListHiddenFolders
  107. (FOR /F "Tokens=* Delims=" %%# in ('Dir /B /S /AD "%WorkingDir%\*"') DO (
  108. Set "Folder=%%~f#"
  109. Call Echo %%Folder:%WorkingDir%=.%%
  110. Set /A "FolderCount+=1"
  111. ))>"%OutputFile%"
  112. Goto:EOF
  113.  
  114.  
  115.  
  116. REM ===============
  117. REM Error Controls:
  118. REM ===============
  119.  
  120. :CheckErrors
  121. :: 'IncludeHiddenFolders' Value check.
  122. If /I "%IncludeHiddenFolders%" NEQ "True" If /I "%IncludeHiddenFolders%" NEQ "False" (
  123. Echo [x] Error parsing parameter 'IncludeHiddenFolders',
  124. Echo     value '%IncludeHiddenFolders%' is not a Boolean value.
  125. Pause&Exit
  126. )
  127.  
  128. Goto:EOF


« Última modificación: 14 Abril 2014, 05:56 am por Eleкtro » En línea



Trebla1011

Desconectado Desconectado

Mensajes: 25



Ver Perfil
Re: [APORTE] [BATCH] Folders2List
« Respuesta #1 en: 12 Abril 2014, 10:24 am »

Wow, :o :o
Buen script Elektro, Muy útil cuando tienes las carpetas tan desordenadas como yo.
Pero, ¿A que viene la función del tiempo? xD
Saludos


En línea

Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.877



Ver Perfil
Re: [APORTE] [BATCH] Folders2List
« Respuesta #2 en: 12 Abril 2014, 15:04 pm »

Pero, ¿A que viene la función del tiempo? xD

Es un simple capricho, la verdad es que el script trabaja rápido pero aun así me gusta saber cuanto tarda, estoy acostumbrado a medir el tiempo de ejecución en la programación .NET para optimizar los procedimientos que den señales de conflictos en el tiempo de ejecución.

PD: Gracias por comentar.

Saludos!
En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Batch] Aporte, Soy electronico
Scripting
Geormarsch 5 4,099 Último mensaje 9 Enero 2012, 10:24 am
por leogtz
[APORTE] [BATCH] Acentos en los programas Batch - La mejor solución
Scripting
Príncipe_Azul 5 13,134 Último mensaje 2 Mayo 2014, 00:09 am
por cyberalejo17
[APORTE] [BATCH] Files2List
Scripting
Eleкtro 2 2,166 Último mensaje 14 Abril 2014, 04:40 am
por Eleкtro
[APORTE] [BATCH] WIM Resource Replacer
Scripting
Eleкtro 0 2,519 Último mensaje 14 Abril 2014, 05:51 am
por Eleкtro
[aporte][batch] 3 en raya en batch
Scripting
shadowhunter 1 3,049 Último mensaje 24 Junio 2014, 12:55 pm
por shadowhunter
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines