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! color 0d echo -----Ordena Escritorios----- echo Este programa ordenara los archivos echo sueltos que tengas en el escritorio :empezemos cls echo Pon el nombre de tu usuario echo (si no sabes te mostrara la lista de usuarios el propio programa ) :2usu cls net user :1usu cls echo Pon el nombre de tu usuario echo Copiando archivos texto xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.txt" "c:\documents and settings\%usuario%\escritorio\archivos de texto" del /q "c:\documents and settings\ %usuario%\escritorio\*.txt" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.doc" "c:\documents and settings\%usuario%\escritorio\archivos de texto" del /q "c:\documents and settings\ %usuario%\escritorio\*.doc" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.dic" "c:\documents and settings\%usuario%\escritorio\archivos de texto" del /q "c:\documents and settings\ %usuario%\escritorio\*.dic" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.wtx" "c:\documents and settings\%usuario%\escritorio\archivos de texto" del /q "c:\documents and settings\ %usuario%\escritorio\*.wtx" echo Copiando archivos pdf xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.pdf" "c:\documents and settings\%usuario%\escritorio\archivos de pdf" del /q "c:\documents and settings\ %usuario%\escritorio\*.pdf" echo Copiando archivos de imagen xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.jpg" "c:\documents and settings\%usuario%\escritorio\archivos de imagen" del /q "c:\documents and settings\ %usuario%\escritorio\*.jpg" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.bmp" "c:\documents and settings\%usuario%\escritorio\archivos de imagen" del /q "c:\documents and settings\ %usuario%\escritorio\*.bmp" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.png" "c:\documents and settings\%usuario%\escritorio\archivos de imagen" del /q "c:\documents and settings\ %usuario%\escritorio\*.png" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.bmp" "c:\documents and settings\%usuario%\escritorio\archivos de imagen" del /q "c:\documents and settings\ %usuario%\escritorio\*.bmp" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.gif" "c:\documents and settings\%usuario%\escritorio\archivos de imagen" del /q "c:\documents and settings\ %usuario%\escritorio\*.gif" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.gih" "c:\documents and settings\%usuario%\escritorio\archivos de imagen" del /q "c:\documents and settings\ %usuario%\escritorio\*.gih" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.gbr" "c:\documents and settings\%usuario%\escritorio\archivos de imagen" del /q "c:\documents and settings\ %usuario%\escritorio\*.gbr" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.jpe" "c:\documents and settings\%usuario%\escritorio\archivos de imagen" del /q "c:\documents and settings\ %usuario%\escritorio\*.jpe" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.psd" "c:\documents and settings\%usuario%\escritorio\archivos de imagen" del /q "c:\documents and settings\ %usuario%\escritorio\*.psd" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.rgb" "c:\documents and settings\%usuario%\escritorio\archivos de imagen" del /q "c:\documents and settings\ %usuario%\escritorio\*.rgb" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.tga" "c:\documents and settings\%usuario%\escritorio\archivos de imagen" del /q "c:\documents and settings\ %usuario%\escritorio\*.tga" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.tif" "c:\documents and settings\%usuario%\escritorio\archivos de imagen" del /q "c:\documents and settings\ %usuario%\escritorio\*.tif" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.tiff" "c:\documents and settings\%usuario%\escritorio\archivos de imagen" del /q "c:\documents and settings\ %usuario%\escritorio\*.tiff" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.xcf" "c:\documents and settings\%usuario%\escritorio\archivos de imagen" del /q "c:\documents and settings\ %usuario%\escritorio\*.xcf" echo Copiando archivos sonido xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.aif" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.aif" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.aifc" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.aifc" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.aiff" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.aiff" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.amf" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.amf" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.asf" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.asf" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.au" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.au" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.audiocd" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.audiocd" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.cda" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.cda" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.far" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.far" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.it" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.it" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.itz" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.itz" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.lwv" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.lwv" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.midi" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.midi" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.miz" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.miz" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mp1" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.mp1" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mp2" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.mp2" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mp3" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.mp3" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mtm" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.mtm" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.ogg" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.ogg" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.ogm" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.ogm" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.okt" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.okt" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.ra" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.ra" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.rm" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.rm" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.snd" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.snd" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.au" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.au" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.stm" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.stm" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.stz" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.stz" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.ult" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.ult" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.voc" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.voc" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.wav" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.wav" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.au" "c:\documents and settings\%usuario%\escritorio\archivos de sonido" del /q "c:\documents and settings\ %usuario%\escritorio\*.au" echo Copiando archivos iso xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.iso" "c:\documents and settings\%usuario%\escritorio\archivos de iso" del /q "c:\documents and settings\ %usuario%\escritorio\*.iso" echo Copiando archivos de video xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.avi" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.avi" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mpg" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.mpg" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mpeg" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.mpeg" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.wmv" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.wmv" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mov" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.mov" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mov" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.mov" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.asf" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.asf" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.divx" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.divx" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mp4" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.mp4" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.div" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.div" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.dvd" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.div" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.ivf" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.ivf" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.miv" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.miv" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mov" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.mov" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.movie" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.movie" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mpa" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.mpa" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mpe" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.mpe" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.mpv2" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.mpv2" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.qt" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.qt" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.qtl" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.qtl" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.wm" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.wm" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.wav" "c:\documents and settings\%usuario%\escritorio\archivos de video" del /q "c:\documents and settings\ %usuario%\escritorio\*.wav" echo Copiando archivos comprimidos xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.rar" "c:\documents and settings\%usuario%\escritorio\archivos comprimidos" del /q "c:\documents and settings\ %usuario%\escritorio\*.rar" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.tar" "c:\documents and settings\%usuario%\escritorio\archivos comprimidos" del /q "c:\documents and settings\ %usuario%\escritorio\*.tar" xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.zip" "c:\documents and settings\%usuario%\escritorio\archivos comprimidos" del /q "c:\documents and settings\ %usuario%\escritorio\*.zip" echo Copiando archivos html xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.html" "c:\documents and settings\%usuario%\escritorio\archivos html" del /q "c:\documents and settings\ %usuario%\escritorio\*.html" :salir cls echo Gracias por usar el programa Ordena Escritorios echo ((((((((((((((((((((((((((((((((((((((((((( echo (( (( Mascando arrob @s (( echo (( xxxxxxxxxxx (((((((((((((((((((((( echo (((((((((((((((((((((((
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
for %%a in ("txt","doc","dic","wtx" ) do ( xcopy /i /q "c:\documents and settings\%usuario%\escritorio\*.%%~a" "c:\documents and settings\%usuario%\escritorio\archivos de texto" del /q "c:\documents and settings\ %usuario%\escritorio\*. %%~a" )
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. 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 %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 %systemdrive% = %variable%
Se me guardara la unidad donde se encuentra el sistema operativo. Entonces si no me equivoco seria así: for %%a in ("txt","doc","dic","wtx" ) do ( xcopy /i /q "%userprofile%\escritorio\*.%%~a" "c:\documents and settings\%usuario%\escritorio\archivos de texto" del /q " %userprofile%\escritorio\*. %%~a" )
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:
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. ;-) color 0d echo -----Ordena Escritorios----- echo Este programa ordenara los archivos echo sueltos que tengas en el escritorio :empezemos echo Copiando archivos texto for %%a in ("txt","doc","dic","wtx" ) do ( xcopy /i /q "%userprofile%\escritorio\*.%%~a" "%userprofile%\%usuario%\escritorio\archivos_de_texto" del /q " %userprofile%\escritorio\*. %%~a" ) echo Copiando archivos pdf xcopy /i /q "%userprofile%\escritorio\*.%%~a" "%userprofile%\%usuario%\escritorio\archivos_pdf" del /q " %userprofile%\escritorio\*. %%~a" ) echo Copiando archivos de imagen for %%a in ("jpg","bmp","png","gif","gih","gbr","jpe","psd","tga","tif","tiff","xcf" ) do ( xcopy /i /q "%userprofile%\escritorio\*.%%~a" "%userprofile%\%usuario%\escritorio\archivos_imagen" del /q " %userprofile%\escritorio\*. %%~a" ) echo Copiando archivos sonido 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 ( xcopy /i /q "%userprofile%\escritorio\*.%%~a" "%userprofile%\%usuario%\escritorio\archivos_audio" del /q " %userprofile%\escritorio\*. %%~a" ) echo Copiando archivos iso xcopy /i /q "%userprofile%\escritorio\*.%%~a" "%userprofile%\%usuario%\escritorio\archivos_iso" del /q " %userprofile%\escritorio\*. %%~a" ) echo Copiando archivos de video 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 ( xcopy /i /q "%userprofile%\escritorio\*.%%~a" "%userprofile%\%usuario%\escritorio\archivos_video" del /q " %userprofile%\escritorio\*. %%~a" ) echo Copiando archivos comprimidos for %%a in ("rar","tar","zip" ) do ( xcopy /i /q "%userprofile%\escritorio\*.%%~a" "%userprofile%\%usuario%\escritorio\archivos_comprimido" del /q " %userprofile%\escritorio\*. %%~a" ) echo Copiando archivos html xcopy /i /q "%userprofile%\escritorio\*.%%~a" "%userprofile%\%usuario%\escritorio\archivos_html" del /q " %userprofile%\escritorio\*. %%~a" ) :salir cls echo Gracias por usar el programa Ordena Escritorios echo ((((((((((((((((((((((((((((((((((((((((((( echo (( (( Mascando arrob @s (( echo (( xxxxxxxxxxx (((((((((((((((((((((( echo (((((((((((((((((((((((
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
if exist " %userprofile%\Escritorio" (set "ruta= %userprofile\Escritorio" ) else ( if exist " %userprofile%\Desktop" (set "ruta= %userprofile%\Desktop" ) )
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: if exist " %userprofile%\Escritorio" (set "ruta= %userprofile\Escritorio" ) else ( if exist " %userprofile%\Desktop" (set "ruta= %userprofile%\Desktop" ) ) xcopy /i /q "%ruta%\*.%%~a" "%ruta%\archivos_pdf"
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
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 =)
|