2011-06-07 138 views
5

¿Cómo podría cambiar el icono/imagen de una carpeta de escritorio a través del script de línea de comandos/lote en Windows XP?Batch Script - Cambiar icono de una carpeta en el escritorio (Windows XP)

Crearé un evento en uno de mis scripts para cambiar el icono a una imagen de un signo de exclamación cuando se inserte un nuevo archivo en una carpeta para alertar a los usuarios.

+0

Ayudaría si pudiera aclarar el contexto en el que está mostrando este ícono de carpeta. ¿Es una computadora de escritorio, o cosa web, qué sistema operativo? – Martin

+0

Windows XP y se refiere a iconos de escritorio. Voy a editar la pregunta – Mechaflash

Respuesta

10

Guarde su image.ico de escritorio.
Lo siguiente creará una carpeta de prueba en el escritorio, así como también el archivo desktop.ini que vincula el archivo de imagen que desea usar.

CD "%userprofile%\desktop" 
MKDIR "TEST FOLDER" 
ATTRIB +s "TEST FOLDER" 
CD "TEST FOLDER" 
COPY /Y "%userprofile%\desktop\image.ico" "./image.ico" 
ECHO [.ShellClassInfo] >> desktop.txt 
ECHO ConfirmFileOp=0 >> desktop.txt 
ECHO NoSharing=1 >> desktop.txt 
ECHO IconFile=image.ico >> desktop.txt 
ECHO IconIndex=0 >> desktop.txt 
ECHO InfoTip= >> desktop.txt 
CHCP 1252 >NUL 
CMD.EXE /D /A /C (SET/P=ÿþ)<NUL > desktop.ini 2>NUL 
CMD.EXE /D /U /C TYPE desktop.txt >> desktop.ini 
DEL /F /Q desktop.txt 
ATTRIB +S +H desktop.ini image.ico 

La imagen muestra hasta instantáneamente, siempre y cuando se trata de una nueva carpeta (no uno que se ha eliminado y recreado. Sólo 'mkdir' una carpeta que recientemente fue eliminado, necesitará el escritorio que se actualice para ver . el cambio (? caching)

+1

Eso es una gran hechicería. Muy útil. ¡Gracias! – user1167442

+0

Entonces, para hacer esto en una carpeta existente, podría simplemente 'mkdir newstuff && rmdir newstuff' y eso forzaría una actualización del escritorio? – PsychoData

+0

Gracias por la respuesta. Corrija el error tipográfico en la quinta línea: '% userprofile%'. Intenté hacerlo yo mismo, pero la estúpida regla de "ediciones tiene que ser más de 6 caracteres" se interpuso en el camino. – Hashim

0

respuesta por "Mechaflash" no funcionó para mí en mi sistema (Windows XP SP3), pero esto funcionó:...
Abrir una carpeta de trabajo y colocar un icono en su interior ("Desktop.ini.ico") y este archivo de proceso por lotes:

@ECHO OFF 
PUSHD "%~dp0" 
MKDIR "NEW CUSTOM FOLDER" 
ATTRIB -R "NEW CUSTOM FOLDER" 
ATTRIB -H -R "NEW CUSTOM FOLDER\Desktop.ini.ico" 
ATTRIB -H -R "NEW CUSTOM FOLDER\Desktop.ini" 
COPY /Y "Desktop.ini.ico" "NEW CUSTOM FOLDER\Desktop.ini.ico" 
ECHO [.ShellClassInfo] > "NEW CUSTOM FOLDER\Desktop.ini" 
ECHO IconFile=Desktop.ini.ico >> "NEW CUSTOM FOLDER\Desktop.ini" 
ECHO IconIndex=0 >> "NEW CUSTOM FOLDER\Desktop.ini" 
ECHO InfoTip=This folder InfoTip text is inside "Desktop.ini" >> "NEW CUSTOM FOLDER\Desktop.ini" 
ATTRIB +H +R "NEW CUSTOM FOLDER\Desktop.ini.ico" 
ATTRIB +H +R "NEW CUSTOM FOLDER\Desktop.ini" 
ATTRIB +R "NEW CUSTOM FOLDER" 
POPD 
EXIT 

Haga doble clic en el archivo de proceso por lotes y listo, hay su "NUEVA CARPETA PERSONALIZADA" dentro de su carpeta de trabajo.

Cuestiones relacionadas