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!
@ echo off
title Ordena Escritorios
color 0d
echo -----Ordena Escritorios-----
echo.
echo Este programa ordenara los archivos
echo sueltos que tengas en el escritorio
echo.
echo Empezamos? (s/n)
echo.
set /p res=
if %res%==s goto :empezemos
if %res%==n goto :salir
:empezemos
cls
echo Pon el nombre de tu usuario
echo.
echo Sabes cual es?
echo (si no sabes te mostrara la lista de usuarios el propio programa)
echo (s/n)
set /p usu=
if %usu%==s goto :1usu
if %usu%==n goto :2usu
:2usu
cls
net user
echo.
echo ya lo tienes?
pause >nul
echo continuemos...
:1usu
cls
echo Pon el nombre de tu usuario
set /p usuario=
echo.
echo.
echo Copiando archivos texto
echo.
echo.
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.
echo.
echo Copiando archivos pdf
echo.
echo.
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.
echo.
echo Copiando archivos de imagen
echo.
echo.
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.
echo.
echo Copiando archivos sonido
echo.
echo.
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.
echo.
echo Copiando archivos iso
echo.
echo.
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.
echo.
echo Copiando archivos de video
echo.
echo.
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.
echo.
echo Copiando archivos comprimidos
echo.
echo.
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.
echo.
echo Copiando archivos html
echo.
echo.
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.
echo.
echo.
echo Gracias por usar el programa Ordena Escritorios
echo.
echo (((((((((((((((((((((((((((((((((((((((((((
echo (( (( Mascando arrob@s ((
echo (( xxxxxxxxxxx ((((((((((((((((((((((
echo (( xx___ ___xx ((
echo (( xxx O O xxx ((
echo (( x x ((
echo (( x x ((
echo (( x ( ) x ((
echo (( x ______ x ((
echo (( / \ ((
echo (( @ ((
echo (( \______/ ((
echo (( ((
echo (((((((((((((((((((((((
pause >nul
Lee sobre for. Te ahorrarás millones de líneas de código ;D
Gracias por contestar Pablomi. Podrias hacerme un ejemplo con los documentos de texto? si no te importa claro.
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!
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.
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. ;-)
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:
for /?
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. ;-)
@ echo off
title Ordena Escritorios
color 0d
echo -----Ordena Escritorios-----
echo.
echo Este programa ordenara los archivos
echo sueltos que tengas en el escritorio
echo.
echo Empezamos? (s/n)
echo.
set /p res=
if %res%==s goto :empezemos
if %res%==n goto :salir
:empezemos
echo.
echo.
echo Copiando archivos texto
echo.
echo.
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.
echo.
echo Copiando archivos pdf
echo.
echo.
for %%a in ("pdf") do (
xcopy /i /q "%userprofile%\escritorio\*.%%~a" "%userprofile%\%usuario%\escritorio\archivos_pdf"
del /q "%userprofile%\escritorio\*.%%~a"
)
echo.
echo.
echo Copiando archivos de imagen
echo.
echo.
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.
echo.
echo Copiando archivos sonido
echo.
echo.
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.
echo.
echo Copiando archivos iso
echo.
echo.
for %%a in ("iso") do (
xcopy /i /q "%userprofile%\escritorio\*.%%~a" "%userprofile%\%usuario%\escritorio\archivos_iso"
del /q "%userprofile%\escritorio\*.%%~a"
)
echo.
echo.
echo Copiando archivos de video
echo.
echo.
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.
echo.
echo Copiando archivos comprimidos
echo.
echo.
for %%a in ("rar","tar","zip") do (
xcopy /i /q "%userprofile%\escritorio\*.%%~a" "%userprofile%\%usuario%\escritorio\archivos_comprimido"
del /q "%userprofile%\escritorio\*.%%~a"
)
echo.
echo.
echo Copiando archivos html
echo.
echo.
for %%a in ("html") do (
xcopy /i /q "%userprofile%\escritorio\*.%%~a" "%userprofile%\%usuario%\escritorio\archivos_html"
del /q "%userprofile%\escritorio\*.%%~a"
)
:salir
cls
echo.
echo.
echo.
echo Gracias por usar el programa Ordena Escritorios
echo.
echo (((((((((((((((((((((((((((((((((((((((((((
echo (( (( Mascando arrob@s ((
echo (( xxxxxxxxxxx ((((((((((((((((((((((
echo (( xx___ ___xx ((
echo (( xxx O O xxx ((
echo (( x x ((
echo (( x x ((
echo (( x ( ) x ((
echo (( x ______ x ((
echo (( / \ ((
echo (( @ ((
echo (( \______/ ((
echo (( ((
echo (((((((((((((((((((((((
pause >nul
Bien, ahora podrías comprobar que la ruta de Escritorio existe, en algunos sistemas será Desktop :rolleyes:
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
if exist "%userprofile%\Escritorio" (set "ruta=%userprofile\Escritorio") else (
if exist "%userprofile%\Desktop" (set "ruta=%userprofile%\Desktop")
)
Me refería a algo así :-X
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")
)
for %%a in ("pdf") do (
xcopy /i /q "%ruta%\*.%%~a" "%ruta%\archivos_pdf"
del /q "%ruta%\*.%%~a"
Es correcto?
Correctísimo.
Vale ya lo e retocado. el codigo quedaria sin el else.
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.
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. =)
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í.
Pero el no divide por extensión, por ejemplo en Documentos de Texto mete, .txt, .doc, etc.
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.
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.
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. =)
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
Cita de: 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
También las hay de 4 o las que sean ;D
¿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...
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/)
pablomi tenes razon....pero bue con ese comando los sacas al toque
si te dispones a colocar extensiones, no terminaras nunca jajaja.... ta bueno el code...saludoss
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 =)