I've been searching for a portable folder-tweaking apps. I've used to use modified bat script by cavedeamon (thanks a lot, dude!) and additional coding into the body of desktop.ini myself (like adding font color and stuff)
But it'll really helps if someone can help me making it as bat and portableapps (for compatibility reasons)
It should have at least these features:
- Windows compliant (refer to this article)
- Changing folder icons
- Changing folder font color
- Changing folder background color
- Creating folders tooltips (InfoTips)
- Auto-hiding the created desktop.ini files
- Storing the icon selected as folder icon into the selected folder and hiding it
- Supports relative path
- Batch processing
Most of it can be accomplished by simple script. I even modified the cavedeamon's script to facilitate some of the features, but I can't really make the executables due to lack of software I had and I can't figure out how to make batch processing folder script.
What really bugs me is that winME has all of these features built-in their winExplorer (through customize folder wizard, too bad winXP changed them)
And last thing, please read all of the post before replying!
I decided to reply without reading the entire post.
Now what happens?
Jim
neutron1132 (at) usa (dot) com
Now you can take your free gift at the lobby
The only mistake I ever did is, I wrote it here.
@echo off&title IconFolder&color 0A
:progstart
cls
echo Type the directory of the folder you want to customize
echo You can use full or relative path
set /p folder=^>
echo.
echo Type the path to the icon file
echo You can use full or relative path
set /p icon=^>
echo.
echo Type the text you want to the infotip
set /p info=^>
if not exist "%folder%" (
echo.
echo The folder "%folder%" doesn't exist!
echo Press any key to continue
pause>nul
goto progstart
) else (
if not exist "%icon%" (
echo.
echo The icon "%icon%" doesn't exist!
echo Press any key to continue
pause>nul
goto progstart
) else (
goto createini
)
)
:createini
if exist "%folder%\desktop.ini" (
attrib -h -s "%folder%\desktop.ini"
del "%folder%\desktop.ini"
)
if exist "%folder%\icon.ico" (
attrib -h "%folder%\icon.ico"
del "%folder%\icon.ico"
)
copy "%icon%" "%folder%\icon.ico">nul
echo [.ShellClassInfo]>"%folder%\desktop.ini"
echo IconFile=.\icon.ico>>"%folder%\desktop.ini"
echo InfoTip=%info%>>"%folder%\desktop.ini"
echo IconIndex=^0>>"%folder%\desktop.ini"
attrib +h +s "%folder%\desktop.ini"
attrib +h "%folder%\icon.ico"
echo.
echo Icon changed sucessfully!
echo Press any key to continue
pause>nul
exit
Tell me more attributes you want to use inside desktop.ini and I'll add into this script
First of all, thank you for your reply!
But, it looks like you forgot to change the folder's attributes to "system" (this is required in order to show the icon)
I've tried the script and it fails to attrib the desktop.ini and the icon. And you can add the icon_area scripts.
And by "batch processing" I was referring to process the whole drive and/or folder to use an icon. So you can input a folder, and all of its subfolders will get the same desktop.ini.
ZE.
The only mistake I ever did is, I wrote it here.
Hum, here it worked =/
Even without attrib "system" to folder, I guess it is necessary only on Windows 2000 or less.
Edit: Oh.. some folders works without "system" attib and some not... I can't edit my post to add
attrib +s "%folder%"
I guess now it's working: http://img175.imageshack.us/my.php?image=79918119tf9.png
Most of the time, folders on winXP (are you using vista?) needs the system attributes in order to show icons.
And can you add the icon_area codes (see below) into your script? I'm waiting for your good news!
ZE
The only mistake I ever did is, I wrote it here.
I'm using Windows XP SP3...
My windows crashed when I tried to use icon_area codes
Maybe anybody more experient can edit my script and add?
Nice theme you got there then
I'm using WinXP SP2 and the code works like a charm for me.
Try this: I used this script
[ExtShellFolderViews]
{BE098140-A513-11D0-A3A4-00C04FD706EC}={BE098140-A513-11D0-A3A4-00C04FD706EC}
[{BE098140-A513-11D0-A3A4-00C04FD706EC}]
Attributes=1
IconArea_Image=wallpaper1.jpg
IconArea_Text=0x00FFFFFF
The only mistake I ever did is, I wrote it here.
@echo off&title IconFolder&color 0A
:progstart
cls
echo Type the directory of the folder you want to customize
echo You can use full or relative path
set /p folder=^>
echo.
echo Type the path to the icon file
echo You can use full or relative path
echo Must be a .ico file
set /p icon=^>
echo.
echo Type the path to the imagem file
echo You can use full or relative path
echo Must be a .jpg file
set /p img=^>
echo.
echo Type the color you want to use on icons text
echo Must be an hex value
set /p color=^>
echo.
echo Type the text you want to the infotip
set /p info=^>
echo.
if not exist "%folder%" (
echo.
echo The folder "%folder%" doesn't exist!
echo Press any key to continue
pause>nul
goto progstart
) else (
if not exist "%icon%" (
echo.
echo The icon "%icon%" doesn't exist!
echo Press any key to continue
pause>nul
goto progstart
) else (
if not exist "%img%" (
echo.
echo The imagem "%img%" doesn't exist!
echo Press any key to continue
pause>nul
goto progstart
) else (
goto createini
)
)
)
:createini
if exist "%folder%\desktop.ini" (
attrib -h -s "%folder%\desktop.ini">nul
del "%folder%\desktop.ini">nul
)
if exist "%folder%\icon.ico" (
attrib -h "%folder%\icon.ico">nul
del "%folder%\icon.ico">nul
)
if exist "%folder%\img.jpg" (
attrib -h "%folder%\img.jpg">nul
del "%folder%\img.jpg">nul
)
copy "%icon%" "%folder%\icon.ico">nul
copy "%img%" "%folder%\img.jpg">nul
echo [.ShellClassInfo]>"%folder%\desktop.ini"
echo IconFile=.\icon.ico>>"%folder%\desktop.ini"
echo InfoTip=%info%>>"%folder%\desktop.ini"
echo IconIndex=^0>>"%folder%\desktop.ini"
echo [ExtShellFolderViews]>>"%folder%\desktop.ini"
echo {BE098140-A513-11D0-A3A4-00C04FD706EC}={BE098140-A513-11D0-A3A4-00C04FD706EC}>>"%folder%\desktop.ini"
echo [{BE098140-A513-11D0-A3A4-00C04FD706EC}]>>"%folder%\desktop.ini"
echo IconArea_Image=.\img.jpg>>"%folder%\desktop.ini"
echo IconArea_Text=%color%>>"%folder%\desktop.ini"
attrib +h +s "%folder%\desktop.ini">nul
attrib +h "%folder%\icon.ico">nul
attrib +h "%folder%\img.jpg">nul
attrib +s "%folder%">nul
echo.
echo Changes made sucessfully!
echo Press any key to continue
pause>nul
exit
Still crashing my system, I tried on Virtual Machine and it worked.
What os did you mount on your Virtual Machine? If it can crash my system, I'd like to not try it (Don't worry, I'll try it)
The only mistake I ever did is, I wrote it here.
The same Win XP PRO SP3 :]
Thank you for replying! I really appreciate your replies!
Your script didn't crash my system though (winXP SP2)
The only mistake I ever did is, I wrote it here.
I'm glad to hear that it worked.
You're welcome.
I think that article lists all of the things you can do with desktop.ini. I don't see how to change font color, for example, via desktop.ini. Did you find another article on the MSDN site that describes how to do that?
Desktop.ini is a plain text file. You can make that with Notepad.
The Nullsoft Install System (NSIS), which is used for most things around here, can probably do those things too. It is free to download and use, and there are lots of examples here and on other sites of how to use it. (AutoIT and AutoHotKey can probably do it too, and they're also free.) If you need to do it to a bunch of files, that sort of program might be good.
MC
You can also modify font color and folder background as well!
These are the script:
[{BE098140-A513-11D0-A3A4-00C04FD706EC}]
IconArea_Text=0×000000 (hex color)
The only mistake I ever did is, I wrote it here.
FolderIco, 'nuff said.
Too many lonely hearts in the real world
Too many bridges you can burn
Too many tables you can't turn
Don't wanna live my life in the real world
I know this program
FolderIco CAN'T run portable, as it creates registry entries AND MODIFIES EXPLORER context menu...
The only mistake I ever did is, I wrote it here.