Скрипт или пакетный файл для редактирования файла 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 ответа
Насколько я знаю - каждая папка на вашем компьютере (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' из результата. только в том случае, если файл существует, и только в том случае, если в ресурсе iconres указана указанная выше строка во втором маркере:)
Это определенно решит ваши проблемы на всех существующих дисках. И, чтобы изменить в чувствительных областях - я рекомендую запускать его от имени администратора.
TheBATeam
Desktop.ini editör - это портативное бесплатное программное обеспечение для упрощения операций с Desktop.ini, оно может помочь вам отредактировать файлы desktop.ini и установить пользовательские значки папок, Советы по работе с папками, добавление CLSID, сброс настроек папки по умолчанию usw.
Домашняя страница http://www.sordum.org/10084/desktop-ini-editor-v1-0/