我正在使用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 感谢您提供的任何帮助。
答案 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在第二个标记中包含上述字符串时。 :)
这肯定会解决您在所有现有驱动器中的问题。并且,要在敏感区域进行修改 - 我建议以管理员身份运行它。
答案 1 :(得分:0)
Desktop.inieditör是一款便携式免费软件,可简化Desktop.ini操作,它可以帮助您编辑desktop.ini文件并设置自定义文件夹图标,文件夹信息提示,添加CLSID,重置文件夹设置为默认usw。< / p>