用于编辑desktop.ini文件的脚本或批处理文件

时间:2017-03-07 01:06:22

标签: batch-file desktop.ini

我正在使用64位Windows 10 Pro v1607 build 14393.693 如何修改系统上的每个desktop.ini文件? 我有一个小型SSD C驱动器和一个大型HD E驱动器。 我将我的Icon文件夹从C驱动器上移开,并将Icon文件夹放在E盘上。 现在我的所有自定义设置图标都没有显示。 如何修改系统上的每个desktop.ini文件? 例如,在一个desktop.ini文件中是:

[.ShellClassInfo]
IconResource=C:\Windows\System32\Icons\microsoft 1.ico,0

我想删除C:\ Windows \ System32并替换E:\ 此示例生成的desktop.ini文件字符串为:

[.ShellClassInfo]
IconResource=E:\Icons\microsoft 1.ico,0

我想将此替换应用于包含的每个desktop.ini文件 字符串C:\ Windows \ System32 感谢您提供的任何帮助。

2 个答案:

答案 0 :(得分:1)

根据我的知识 - 计算机中的每个文件夹(Windows)都包含 Desktop.ini 文件,该文件也定义了文件夹的图标(以及更多)。我们可以通过所有文件夹轻松 抓取 并修改其 Desktop.ini 文件。

@Echo off
SetLocal EnableDelayedExpansion
Set _Counter=0
Set _Files=0
Cls

REM Crawling through folders and injecting our own lines...
For %%A in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) Do (
    If Exist "%%A:" If "%%A:" NEQ "!SystemDrive!" (
        Cd /D "%%A:"
        Cd /
        For /f "Tokens=*" %%B in ('dir /s /b *.* /a:d') Do (
            If Exist "%%B\Desktop.ini" (
                Set _Counter=0
                For /f "Usebackq Tokens=1,2 delims==" %%C in ("%%B\Desktop.ini") Do (
                    Set /A _Counter+=1
                    IF /I "%%C" == "IconResource" (
                        Set "_Icon_Path=%%D"
                        If /I "!_Icon_Path:~0,19!" == "C:\Windows\System32" (Set "_Line[!_Counter!]=%%C=!_Icon_Path:C:\Windows\System32=E:!")
                        ) ELSE (IF /I "%%D" == "" (Set "_Line[!_Counter!]=%%C") ELSE (Set "_Line[!_Counter!]=%%C=%%D")
                    )
                )
                Call :Saveit !_Counter! "%%~B"
                Set /a _Files+=1
         )
    )
)
)

Echo. You are Done in all the Drives. :^)
Echo. Total Files modified= %_Files%
Echo. 

Pause


REM Extra Function...
:Saveit
Del /Q "%~2\Desktop.ini" >nul
For /L %%A in (1,1,%~1) Do (echo.!_Line[%%A]!>>"%~2\Desktop.ini")
Goto :Eof

根据您在评论中的最后一行问题和建议再次更新,现在您可以知道......它取代了C:\ windows \ system32'从结果。仅当文件存在且仅当iconresource在第二个标记中包含上述字符串时。 :)

这肯定会解决您在所有现有驱动器中的问题。并且,要在敏感区域进行修改 - 我建议以管理员身份运行它。

TheBATeam

答案 1 :(得分:0)

enter image description here

Desktop.inieditör是一款便携式免费软件,可简化Desktop.ini操作,它可以帮助您编辑desktop.ini文件并设置自定义文件夹图标,文件夹信息提示,添加CLSID,重置文件夹设置为默认usw。< / p>

主页 http://www.sordum.org/10084/desktop-ini-editor-v1-0/