Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: moikano→@ en 26 Octubre 2010, 15:19 pm



Título: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: moikano→@ en 26 Octubre 2010, 15:19 pm
Pues bien, ya e echo algunas consultas en este foro y sus consejos me han sido útiles. Así que para agradecerles esas ayudas os dejo este código (el mas largo que e echo) que ordena los archivos de un escritorio.
Es un código muy sencillo, ni siquiera utilizó bucles ni nada por el estilo.
El script busca archivos con una extensión que luego utilizara para crear una carpeta igual con el nombre de la extensión y lo guardara todo ahí dentro.
Por supuesto es muy mejorable, si tienes aportaciones no dudes, postea!
Código
  1. @ echo off
  2. title Ordena Escritorios
  3. color 0d
  4. echo                       -----Ordena Escritorios-----
  5. echo                   Este programa ordenara los archivos
  6. echo                   sueltos que tengas en el escritorio
  7. echo                            Empezamos? (s/n)
  8. set /p res=
  9. if %res%==s goto :empezemos
  10. if %res%==n goto :salir
  11.  
  12. :empezemos
  13. cls
  14. echo                     Pon el nombre de tu usuario
  15. echo                            Sabes cual es?
  16. echo     (si no sabes te mostrara la lista de usuarios el propio programa)
  17. echo                                (s/n)
  18. set /p usu=
  19. if %usu%==s goto :1usu
  20. if %usu%==n goto :2usu
  21.  
  22. :2usu
  23. cls
  24. net user
  25. echo                            ya lo tienes?
  26. echo                            continuemos...
  27.  
  28. :1usu
  29. cls
  30. echo                     Pon el nombre de tu usuario
  31. set /p usuario=
  32.  
  33. echo                                                 Copiando archivos texto
  34. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.txt" "c:\documents and settings\%usuario%\escritorio\archivos de texto"
  35. del /q "c:\documents and settings\%usuario%\escritorio\*.txt"
  36.  
  37. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.doc" "c:\documents and settings\%usuario%\escritorio\archivos de texto"
  38. del /q "c:\documents and settings\%usuario%\escritorio\*.doc"
  39.  
  40. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.dic" "c:\documents and settings\%usuario%\escritorio\archivos de texto"
  41. del /q "c:\documents and settings\%usuario%\escritorio\*.dic"
  42.  
  43.  
  44. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.wtx" "c:\documents and settings\%usuario%\escritorio\archivos de texto"
  45. del /q "c:\documents and settings\%usuario%\escritorio\*.wtx"
  46.  
  47.  
  48.  
  49. echo                                                  Copiando archivos pdf
  50.  
  51.  
  52. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.pdf" "c:\documents and settings\%usuario%\escritorio\archivos de pdf"
  53. del /q "c:\documents and settings\%usuario%\escritorio\*.pdf"
  54.  
  55. echo                                                  Copiando archivos de imagen
  56.  
  57. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.jpg" "c:\documents and settings\%usuario%\escritorio\archivos de imagen"
  58. del /q "c:\documents and settings\%usuario%\escritorio\*.jpg"
  59.  
  60. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.bmp" "c:\documents and settings\%usuario%\escritorio\archivos de imagen"
  61. del /q "c:\documents and settings\%usuario%\escritorio\*.bmp"
  62.  
  63. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.png" "c:\documents and settings\%usuario%\escritorio\archivos de imagen"
  64. del /q "c:\documents and settings\%usuario%\escritorio\*.png"
  65.  
  66. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.bmp" "c:\documents and settings\%usuario%\escritorio\archivos de imagen"
  67. del /q "c:\documents and settings\%usuario%\escritorio\*.bmp"
  68.  
  69. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.gif" "c:\documents and settings\%usuario%\escritorio\archivos de imagen"
  70. del /q "c:\documents and settings\%usuario%\escritorio\*.gif"
  71.  
  72. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.gih" "c:\documents and settings\%usuario%\escritorio\archivos de imagen"
  73. del /q "c:\documents and settings\%usuario%\escritorio\*.gih"
  74.  
  75. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.gbr" "c:\documents and settings\%usuario%\escritorio\archivos de imagen"
  76. del /q "c:\documents and settings\%usuario%\escritorio\*.gbr"
  77.  
  78. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.jpe" "c:\documents and settings\%usuario%\escritorio\archivos de imagen"
  79. del /q "c:\documents and settings\%usuario%\escritorio\*.jpe"
  80.  
  81. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.psd" "c:\documents and settings\%usuario%\escritorio\archivos de imagen"
  82. del /q "c:\documents and settings\%usuario%\escritorio\*.psd"
  83.  
  84. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.rgb" "c:\documents and settings\%usuario%\escritorio\archivos de imagen"
  85. del /q "c:\documents and settings\%usuario%\escritorio\*.rgb"
  86.  
  87. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.tga" "c:\documents and settings\%usuario%\escritorio\archivos de imagen"
  88. del /q "c:\documents and settings\%usuario%\escritorio\*.tga"
  89.  
  90. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.tif" "c:\documents and settings\%usuario%\escritorio\archivos de imagen"
  91. del /q "c:\documents and settings\%usuario%\escritorio\*.tif"
  92.  
  93. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.tiff" "c:\documents and settings\%usuario%\escritorio\archivos de imagen"
  94. del /q "c:\documents and settings\%usuario%\escritorio\*.tiff"
  95.  
  96. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.xcf" "c:\documents and settings\%usuario%\escritorio\archivos de imagen"
  97. del /q "c:\documents and settings\%usuario%\escritorio\*.xcf"
  98.  
  99. echo                                                 Copiando archivos sonido
  100.  
  101. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.aif" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  102. del /q "c:\documents and settings\%usuario%\escritorio\*.aif"
  103.  
  104. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.aifc" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  105. del /q "c:\documents and settings\%usuario%\escritorio\*.aifc"
  106.  
  107. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.aiff" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  108. del /q "c:\documents and settings\%usuario%\escritorio\*.aiff"
  109.  
  110. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.amf" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  111. del /q "c:\documents and settings\%usuario%\escritorio\*.amf"
  112.  
  113. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.asf" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  114. del /q "c:\documents and settings\%usuario%\escritorio\*.asf"
  115.  
  116. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.au" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  117. del /q "c:\documents and settings\%usuario%\escritorio\*.au"
  118.  
  119. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.audiocd" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  120. del /q "c:\documents and settings\%usuario%\escritorio\*.audiocd"
  121.  
  122. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.cda" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  123. del /q "c:\documents and settings\%usuario%\escritorio\*.cda"
  124.  
  125. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.far" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  126. del /q "c:\documents and settings\%usuario%\escritorio\*.far"
  127.  
  128. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.it" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  129. del /q "c:\documents and settings\%usuario%\escritorio\*.it"
  130.  
  131. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.itz" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  132. del /q "c:\documents and settings\%usuario%\escritorio\*.itz"
  133.  
  134. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.lwv" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  135. del /q "c:\documents and settings\%usuario%\escritorio\*.lwv"
  136.  
  137. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.midi" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  138. del /q "c:\documents and settings\%usuario%\escritorio\*.midi"
  139.  
  140. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.miz" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  141. del /q "c:\documents and settings\%usuario%\escritorio\*.miz"
  142.  
  143. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mp1" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  144. del /q "c:\documents and settings\%usuario%\escritorio\*.mp1"
  145.  
  146. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mp2" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  147. del /q "c:\documents and settings\%usuario%\escritorio\*.mp2"
  148.  
  149. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mp3" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  150. del /q "c:\documents and settings\%usuario%\escritorio\*.mp3"
  151.  
  152. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mtm" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  153. del /q "c:\documents and settings\%usuario%\escritorio\*.mtm"
  154.  
  155. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.ogg" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  156. del /q "c:\documents and settings\%usuario%\escritorio\*.ogg"
  157.  
  158. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.ogm" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  159. del /q "c:\documents and settings\%usuario%\escritorio\*.ogm"
  160.  
  161. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.okt" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  162. del /q "c:\documents and settings\%usuario%\escritorio\*.okt"
  163.  
  164. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.ra" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  165. del /q "c:\documents and settings\%usuario%\escritorio\*.ra"
  166.  
  167. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.rm" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  168. del /q "c:\documents and settings\%usuario%\escritorio\*.rm"
  169.  
  170. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.snd" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  171. del /q "c:\documents and settings\%usuario%\escritorio\*.snd"
  172.  
  173. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.au" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  174. del /q "c:\documents and settings\%usuario%\escritorio\*.au"
  175.  
  176. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.stm" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  177. del /q "c:\documents and settings\%usuario%\escritorio\*.stm"
  178.  
  179. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.stz" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  180. del /q "c:\documents and settings\%usuario%\escritorio\*.stz"
  181.  
  182. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.ult" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  183. del /q "c:\documents and settings\%usuario%\escritorio\*.ult"
  184.  
  185. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.voc" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  186. del /q "c:\documents and settings\%usuario%\escritorio\*.voc"
  187.  
  188. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.wav" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  189. del /q "c:\documents and settings\%usuario%\escritorio\*.wav"
  190.  
  191. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.au" "c:\documents and settings\%usuario%\escritorio\archivos de sonido"
  192. del /q "c:\documents and settings\%usuario%\escritorio\*.au"
  193.  
  194. echo                                                    Copiando archivos iso
  195.  
  196. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.iso" "c:\documents and settings\%usuario%\escritorio\archivos de iso"
  197. del /q "c:\documents and settings\%usuario%\escritorio\*.iso"
  198.  
  199. echo                                                 Copiando archivos de video
  200.  
  201. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.avi" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  202. del /q "c:\documents and settings\%usuario%\escritorio\*.avi"
  203.  
  204. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mpg" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  205. del /q "c:\documents and settings\%usuario%\escritorio\*.mpg"
  206.  
  207. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mpeg" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  208. del /q "c:\documents and settings\%usuario%\escritorio\*.mpeg"
  209.  
  210. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.wmv" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  211. del /q "c:\documents and settings\%usuario%\escritorio\*.wmv"
  212.  
  213. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mov" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  214. del /q "c:\documents and settings\%usuario%\escritorio\*.mov"
  215.  
  216. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mov" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  217. del /q "c:\documents and settings\%usuario%\escritorio\*.mov"
  218.  
  219. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.asf" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  220. del /q "c:\documents and settings\%usuario%\escritorio\*.asf"
  221.  
  222. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.divx" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  223. del /q "c:\documents and settings\%usuario%\escritorio\*.divx"
  224.  
  225. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mp4" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  226. del /q "c:\documents and settings\%usuario%\escritorio\*.mp4"
  227.  
  228. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.div" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  229. del /q "c:\documents and settings\%usuario%\escritorio\*.div"
  230.  
  231. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.dvd" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  232. del /q "c:\documents and settings\%usuario%\escritorio\*.div"
  233.  
  234. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.ivf" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  235. del /q "c:\documents and settings\%usuario%\escritorio\*.ivf"
  236.  
  237. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.miv" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  238. del /q "c:\documents and settings\%usuario%\escritorio\*.miv"
  239.  
  240. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mov" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  241. del /q "c:\documents and settings\%usuario%\escritorio\*.mov"
  242.  
  243. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.movie" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  244. del /q "c:\documents and settings\%usuario%\escritorio\*.movie"
  245.  
  246. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mpa" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  247. del /q "c:\documents and settings\%usuario%\escritorio\*.mpa"
  248.  
  249. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mpe" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  250. del /q "c:\documents and settings\%usuario%\escritorio\*.mpe"
  251.  
  252. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mpv2" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  253. del /q "c:\documents and settings\%usuario%\escritorio\*.mpv2"
  254.  
  255. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.qt" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  256. del /q "c:\documents and settings\%usuario%\escritorio\*.qt"
  257.  
  258. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.qtl" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  259. del /q "c:\documents and settings\%usuario%\escritorio\*.qtl"
  260.  
  261. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.wm" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  262. del /q "c:\documents and settings\%usuario%\escritorio\*.wm"
  263.  
  264. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.wav" "c:\documents and settings\%usuario%\escritorio\archivos de video"
  265. del /q "c:\documents and settings\%usuario%\escritorio\*.wav"
  266.  
  267. echo                                                Copiando archivos comprimidos
  268.  
  269. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.rar" "c:\documents and settings\%usuario%\escritorio\archivos comprimidos"
  270. del /q "c:\documents and settings\%usuario%\escritorio\*.rar"
  271.  
  272. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.tar" "c:\documents and settings\%usuario%\escritorio\archivos comprimidos"
  273. del /q "c:\documents and settings\%usuario%\escritorio\*.tar"
  274.  
  275. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.zip" "c:\documents and settings\%usuario%\escritorio\archivos comprimidos"
  276. del /q "c:\documents and settings\%usuario%\escritorio\*.zip"
  277.  
  278. echo                                                 Copiando archivos html
  279. xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.html" "c:\documents and settings\%usuario%\escritorio\archivos html"
  280. del /q "c:\documents and settings\%usuario%\escritorio\*.html"
  281.  
  282.  
  283.  
  284.  
  285. :salir
  286. cls
  287. echo         Gracias por usar el programa Ordena Escritorios
  288. echo         (((((((((((((((((((((((((((((((((((((((((((
  289. echo         ((                   (( Mascando arrob@s ((
  290. echo         ((    xxxxxxxxxxx    ((((((((((((((((((((((
  291. echo         ((   xx___   ___xx   ((
  292. echo         ((  xxx O     O xxx  ((
  293. echo         ((   x           x   ((
  294. echo         ((   x           x   ((
  295. echo         ((   x   (   )   x   ((
  296. echo         ((   x  ______   x   ((
  297. echo         ((     /      \      ((
  298. echo         ((        @          ((
  299. echo         ((     \______/      ((
  300. echo         ((                   ((
  301. echo         (((((((((((((((((((((((
  302.  
  303.  


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: xassiz~ en 26 Octubre 2010, 16:21 pm
Lee sobre for. Te ahorrarás millones de líneas de código ;D


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: moikano→@ en 26 Octubre 2010, 16:47 pm
Gracias por contestar Pablomi. Podrias hacerme un ejemplo con los documentos de texto? si no te importa claro.


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: xassiz~ en 26 Octubre 2010, 16:50 pm
Código
  1. for %%a in ("txt","doc","dic","wtx") do (
  2.    xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.%%~a" "c:\documents and settings\%usuario%\escritorio\archivos de texto"
  3.    del /q "c:\documents and settings\%usuario%\escritorio\*.%%~a"
  4. )
Espero que lo entiendas y no te limites a copiar código ;)


Puedes leer también acerca de las variables de entorno, como %userprofile%.


Saludos!


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: Fayre en 26 Octubre 2010, 16:58 pm
Y no te olvides de la variable de entorno %systemdrive% que no todo el mundo tiene instalado windows en c: aunque si la mayoría, para ver todas las variables de entorno en windows pon en la consola set saludos.


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: moikano→@ en 26 Octubre 2010, 17:05 pm
Ok creo que lo e pillado. Estaba probando pero no hiba bien encaminado. Había escrito esto.
Código
  1. for %%i in ("c:\Documentts and settings\%usuario%\escritorio\*.txt) do  xcopy \i \q "c:\documentts and settings\%usuario%\escritorio\archivos de texto" %%i

Por supuesto no ha funcionado XD.

Ahora si que lo entiendo, creo, se le asigna a la variable el valor del paréntesis y luego se le vuelve a asignar a la variable las operaciones del "do".
La verdad es que en manuales que e visto no lo explican muy bien.
Gracias Fayre y Pablomi ;)

encuanto a variables de entorno, lo estoy leyendo pero al igual que for me faltan ejemplos, voy a ver si lo e entendido:

Si pongo esto
Código
  1. %userprofile% = %variable%
Se me guardara la dirección a la variable y podre utilizarla para cualquier nombre de "documentts and settings" (al menos eso me a parecido al usarla en consola)
Y si pongo
Código
  1. %systemdrive% = %variable%
Se me guardara la unidad donde se encuentra el sistema operativo.

Entonces si no me equivoco seria así:
Código
  1. for %%a in ("txt","doc","dic","wtx") do (
  2.    xcopy /i /q "%userprofile%\escritorio\*.%%~a" "c:\documents and settings\%usuario%\escritorio\archivos de texto"
  3.    del /q "%userprofile%\escritorio\*.%%~a"
  4. )

Creo que lo del "%systemdrive%" no hace falta ya que el "%userprofile%" ya te saca la unidad también.
Ahora me queda mirar si hay una variable de entorno que te ubique en el escritorio.
Gracias de nuevo, subiré pronto el código reformado.  ;-)


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: xassiz~ en 26 Octubre 2010, 17:19 pm
Es que hay muchas formas de utilizar un bucle for, aparte de que luego tiene opciones como /L, /D o /F.

La ayuda de la consola es bastante buena:
Código
  1. for /?
  2.  


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: moikano→@ en 27 Octubre 2010, 09:16 am
Bien, ya tengo el código reformado con los consejos de PABLOMI.
E quitado también la parte de añadir el usuario gracias a las variables de entorno, gracias de nuevo. ;-)

Código
  1. @ echo off
  2.  
  3. title Ordena Escritorios
  4.  
  5. color 0d
  6.  
  7. echo                       -----Ordena Escritorios-----
  8.  
  9.  
  10. echo                   Este programa ordenara los archivos
  11.  
  12. echo                   sueltos que tengas en el escritorio
  13.  
  14.  
  15. echo                            Empezamos? (s/n)
  16.  
  17.  
  18. set /p res=
  19.  
  20. if %res%==s goto :empezemos
  21.  
  22. if %res%==n goto :salir
  23.  
  24.  
  25.  
  26. :empezemos
  27.  
  28.  
  29.  
  30. echo                                                 Copiando archivos texto
  31.  
  32.  
  33.  
  34. for %%a in ("txt","doc","dic","wtx") do (
  35.  
  36.    xcopy /i /q "%userprofile%\escritorio\*.%%~a" "%userprofile%\%usuario%\escritorio\archivos_de_texto"
  37.  
  38.    del /q "%userprofile%\escritorio\*.%%~a"
  39.  
  40. )
  41.  
  42.  
  43.  
  44. echo                                                  Copiando archivos pdf
  45.  
  46.  
  47.  
  48. for %%a in ("pdf") do (
  49.  
  50.    xcopy /i /q "%userprofile%\escritorio\*.%%~a" "%userprofile%\%usuario%\escritorio\archivos_pdf"
  51.  
  52.    del /q "%userprofile%\escritorio\*.%%~a"
  53.  
  54. )
  55.  
  56.  
  57.  
  58. echo                                                  Copiando archivos de imagen
  59.  
  60.  
  61.  
  62. for %%a in ("jpg","bmp","png","gif","gih","gbr","jpe","psd","tga","tif","tiff","xcf") do (
  63.  
  64.    xcopy /i /q "%userprofile%\escritorio\*.%%~a" "%userprofile%\%usuario%\escritorio\archivos_imagen"
  65.  
  66.    del /q "%userprofile%\escritorio\*.%%~a"
  67.  
  68. )
  69.  
  70.  
  71.  
  72. echo                                                 Copiando archivos sonido
  73.  
  74.  
  75.  
  76. for %%a in ("aif","aifc","aiff","amf","asf","au","audiocd","cda","far","it","itz","lwv","midi","miz","mp1","mp3","mtm","ogg","ogm","okt","ra","rm","snd","au","stm","stz","ult","voc","wav",) do (
  77.  
  78.    xcopy /i /q "%userprofile%\escritorio\*.%%~a" "%userprofile%\%usuario%\escritorio\archivos_audio"
  79.  
  80.    del /q "%userprofile%\escritorio\*.%%~a"
  81.  
  82. )
  83.  
  84.  
  85.  
  86. echo                                                    Copiando archivos iso
  87.  
  88.  
  89.  
  90.  
  91.  
  92. for %%a in ("iso") do (
  93.  
  94.    xcopy /i /q "%userprofile%\escritorio\*.%%~a" "%userprofile%\%usuario%\escritorio\archivos_iso"
  95.  
  96.    del /q "%userprofile%\escritorio\*.%%~a"
  97.  
  98. )
  99.  
  100.  
  101.  
  102. echo                                                 Copiando archivos de video
  103.  
  104.  
  105.  
  106. for %%a in ("avi","mpg","mpeg","wmv","mov","asf","divx","mp4","div","dvd","ivf","miv","mov","movie","mpa","mpe","mpv2","qt","qtl","wm","wav") do (
  107.  
  108.    xcopy /i /q "%userprofile%\escritorio\*.%%~a" "%userprofile%\%usuario%\escritorio\archivos_video"
  109.  
  110.    del /q "%userprofile%\escritorio\*.%%~a"
  111.  
  112. )
  113.  
  114.  
  115.  
  116. echo                                                Copiando archivos comprimidos
  117.  
  118.  
  119.  
  120. for %%a in ("rar","tar","zip") do (
  121.  
  122.    xcopy /i /q "%userprofile%\escritorio\*.%%~a" "%userprofile%\%usuario%\escritorio\archivos_comprimido"
  123.  
  124.    del /q "%userprofile%\escritorio\*.%%~a"
  125.  
  126. )
  127.  
  128.  
  129.  
  130. echo                                                 Copiando archivos html
  131.  
  132.  
  133.  
  134. for %%a in ("html") do (
  135.  
  136.    xcopy /i /q "%userprofile%\escritorio\*.%%~a" "%userprofile%\%usuario%\escritorio\archivos_html"
  137.  
  138.    del /q "%userprofile%\escritorio\*.%%~a"
  139.  
  140. )
  141.  
  142. :salir
  143.  
  144. cls
  145.  
  146.  
  147.  
  148.  
  149. echo         Gracias por usar el programa Ordena Escritorios
  150.  
  151.  
  152. echo         (((((((((((((((((((((((((((((((((((((((((((
  153.  
  154. echo         ((                   (( Mascando arrob@s ((
  155.  
  156. echo         ((    xxxxxxxxxxx    ((((((((((((((((((((((
  157.  
  158. echo         ((   xx___   ___xx   ((
  159.  
  160. echo         ((  xxx O     O xxx  ((
  161.  
  162. echo         ((   x           x   ((
  163.  
  164. echo         ((   x           x   ((
  165.  
  166. echo         ((   x   (   )   x   ((
  167.  
  168. echo         ((   x  ______   x   ((
  169.  
  170. echo         ((     /      \      ((
  171.  
  172. echo         ((        @          ((
  173.  
  174. echo         ((     \______/      ((
  175.  
  176. echo         ((                   ((
  177.  
  178. echo         (((((((((((((((((((((((
  179.  
  180.  
  181.  
  182.  
  183.  


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: xassiz~ en 27 Octubre 2010, 14:50 pm
Bien, ahora podrías comprobar que la ruta de Escritorio existe, en algunos sistemas será Desktop :rolleyes:


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: moikano→@ en 28 Octubre 2010, 09:24 am
Pues lo e estado mirando y no lo e encontrado, bueno, si lo e encontrado pero no funciona.

Por set en consola (no parece que este por ningun lado):

ALLUSERSPROFILE=C:\Documents and Settings\All Users
APPDATA=C:\Documents and Settings\Administrador\Datos de programa
CLIENTNAME=Console
CommonProgramFiles=C:\Archivos de programa\Archivos comunes
COMPUTERNAME=PC01
ComSpec=C:\WINDOWS\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\Administrador
LOGONSERVER=\\PC01
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 15 Model 107 Stepping 2, AuthenticAMD
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=6b02
ProgramFiles=C:\Archivos de programa
PROMPT=$P$G
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp
TMP=C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp
USERDOMAIN=PC01
USERNAME=Administrador
USERPROFILE=C:\Documents and Settings\Administrador
windir=C:\WINDOWS

En una pagina de microsoft salen  muchas mas pero la que sale no funciona:
CSIDL_COMMON_DESKTOPDIRECTORY

enlace:http://technet.microsoft.com/es-es/library/cc749104%28WS.10%29.aspx


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: xassiz~ en 28 Octubre 2010, 15:20 pm
Código
  1. if exist "%userprofile%\Escritorio" (set "ruta=%userprofile\Escritorio") else (
  2.    if exist "%userprofile%\Desktop" (set "ruta=%userprofile%\Desktop")
  3. )
  4.  
Me refería a algo así :-X


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: moikano→@ en 28 Octubre 2010, 15:40 pm
Ah ok! XD
Ahora lo cojí. Pues entonces debería guardar toda la ruta en una variable y llamarla luego cuando la necesite. no?
Tipo esto:
Código
  1. if exist "%userprofile%\Escritorio" (set "ruta=%userprofile\Escritorio") else (
  2.    if exist "%userprofile%\Desktop" (set "ruta=%userprofile%\Desktop")
  3. )
  4. for %%a in ("pdf") do (
  5.  
  6.    xcopy /i /q "%ruta%\*.%%~a" "%ruta%\archivos_pdf"
  7.  
  8.    del /q "%ruta%\*.%%~a"
  9.  
Es correcto?


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: xassiz~ en 28 Octubre 2010, 20:20 pm
Correctísimo.


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: moikano→@ en 29 Octubre 2010, 13:52 pm
Vale ya lo e retocado. el codigo quedaria sin el else.


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: FerJGS en 30 Octubre 2010, 19:59 pm
EL código es demasiado extenso. Lo primero, no ponags un salto de líena entre cda comando:

echo.

echo.

Pon directamente

echo.
echo.

Y en lugar de poner una línea de comandos para cada tipo de archivo (que hay miles), pon un bucle que vaya probando combinaciones de tres letras

aaa, aab, aac, hasta zzz.

Defines la variable de for (las tres letras) como el nombre de la variable que usarás para poner nombre a la carpet,a te ahorrarás muchas líneas, pero para no crear 20 mil carpetas, usa if exist, para que solo cree las carpetas si hay archivos con dicha extensión.


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: moikano→@ en 1 Noviembre 2010, 18:36 pm
Pero silo pusiera así no quedaría ordenado. Ya que la gracia está en que los archivos con la extensión que toca queden dentro de su carpeta correspondiente. por ejemplo:
Archivos_PDF-----< .pdf
Si le pongo lo de la combinatoria de letras no se cual será cual, además de que muchísimas combinaciones no las conozco y no se a que carpeta irían.No se si me explico.
Pero gracias de todas formas, estudiare esa función de "FOR" parece interesante.
Y sobre lo de las lineas si, las lineas vacías sobran. =)


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: FerJGS en 1 Noviembre 2010, 21:03 pm
No, creo que el que no se ah explicado he sido yo.


Podrías hacer algo como:

"siguiente combinación: PDF"

Si hay archivos .PDF

Crear carpeta   "PDF"

Copiar archivos ".PDF" a carpeta "PDF".

Y si no hay  archivos PDF, siguiente combinación. Algo así.

No me apetece pensar demasiado pero sería algo como crear un archivo TXT con las 25 letras básicas del alfabeto occidental y que for probase con una cada vez.

A A A
A A B
A A C
...
A B A
A B B
........
Z Z Z

y con eso pones

If exist *.%a (
MD %a
Copy *.%a %homedrive%/Docume~1/%Username%/Escritorio/%a
)

Algo así.


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: xassiz~ en 1 Noviembre 2010, 21:06 pm
Pero el no divide por extensión, por ejemplo en Documentos de Texto mete, .txt, .doc, etc.


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: moikano→@ en 1 Noviembre 2010, 22:22 pm
Exacto Pablomi, aunque no es mala idea FerJGS.
De todas formas creo que es mas humano decir a una carpeta "Archivos de texto" que "RTF" y menos engorroso, si no tendrías una carpeta por cada extensión.


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: FerJGS en 2 Noviembre 2010, 18:46 pm
No hombre, pero podrías llamar a la carpeta como te diera la gana.

El ejemplo sería.

Combinación "PDF"
Si entre los archivos a copiar hay alguno "*.pdf"

copiarlo a "C:~ .../Escritorio/Documentos/%1.pdf

Algo así. Se puede hacer así en poco más de diez líneas.


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: moikano→@ en 3 Noviembre 2010, 13:44 pm
De todas formas no se hacer la convinatoria entre 3 letras. Se hace con for? si me das un ejemplo te lo agradeciria, aunque sea sencillo. =)


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: flony en 3 Noviembre 2010, 15:07 pm
todas las extensiones son tres letras y la sacas del comando assoc en vez de estar jugando con las combinaciones de tres lugares despues del punto


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: xassiz~ en 3 Noviembre 2010, 22:55 pm
todas las extensiones son tres letras y la sacas del comando assoc en vez de estar jugando con las combinaciones de tres lugares despues del punto
También las hay de 4 o las que sean ;D


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: FerJGS en 6 Noviembre 2010, 01:12 am
¿Sacar esas letras?

Simplemente puedes poner las 25 letras en un txt y pedir que for tome cada línea con for /f skip=%var%, vas sumando una a var hasta que el valor sea 25.

If %var% GEQ 26 ()

tendrías que definir tre svariables:

%1% (1ª letra)
%2% (2ª letra)
%3% (3ª letra)

y hacer algo como

%1%=1
%2%=1
%3%=1
:Bucle
Set /a 3=%3%+1
If %3% GEQ 26 (
[lo mismo con %2% + 1]

etc...




Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: chenchen21621 en 8 Noviembre 2010, 06:14 am
Y no te olvides de la variable de entorno %systemdrive% que no todo el mundo tiene instalado windows en c: aunque si la mayoría, para ver todas las variables de entorno en windows pon en la consola set saludos.

 ::) ::) ::) ::) ::) ::)





(http://images.icanhascheezburger.com/completestore/2009/2/1/128779945225614728.jpg)
ugg boots classic (http://www.uggbootsverkaufspeichern.com/) ugg boots knit (http://www.uggbootsverkaufspeichern.com/) ugg boots short (http://www.uggbootsverkaufspeichern.com/)


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: k-tax en 8 Noviembre 2010, 09:03 am
Código
  1.  


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: flony en 9 Noviembre 2010, 16:26 pm
pablomi tenes razon....pero bue con ese comando los sacas al toque


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: flacc en 18 Noviembre 2010, 19:02 pm
si te dispones a colocar extensiones, no terminaras nunca jajaja.... ta bueno el code...saludoss


Título: Re: [Batch] mi primer aporte: Ordenar escritorios
Publicado por: moikano→@ en 18 Noviembre 2010, 23:26 pm
Pues si, creo que es mejor quedarse con las típicas extensiones (aunque en el code salen algunas rarillas) y así queda estándar que es lo que quería. y gracias =)