我有一个我刚刚创建的批处理文件,只需要一个图像,将其转换为256 * 256图标文件(使用imagemagick)并将其设置为图像目录图标。
非常简单的东西,但我确实有一个问题,我似乎无法理解,无论我读到什么。如果某个目录有任何特殊字符,它就不会起作用,因为它主要用于带括号的目录。
任何人都在意解释我做错了什么?我之前从未在批处理文件中工作,因此我意识到我远没有好。
@ECHO off
%~d1
cd %~p1
set str=%~d1%~p1
If NOT exist "%str%Folder Options" (
md "%str%Folder Options"
)
If exist "%str%Folder Options\folder.ico" (
del %str%Folder Options\folder.ico
)
convert %1 -resize 256x256 "%str%Folder Options\folder_256.png"
convert "%str%Folder Options\folder_256.png" -gravity center -background none -extent 256x256 "%str%Folder Options\folder_256x256_alpha.png"
convert "%str%Folder Options\folder_256x256_alpha.png" "%str%Folder Options\folder.ico"
del "%str%Folder Options\folder_256.png"
del "%str%Folder Options\folder_256x256_alpha.png"
If exist "%str%desktop.ini" (
Attrib -S -H "%str%desktop.ini"
del "%str%desktop.ini"
)
ECHO Creating desktop.ini
(
ECHO [.ShellClassInfo]
ECHO IconFile=Folder Options\folder.ico
ECHO IconIndex=0
) >"%str%desktop.ini"
Attrib +H "%str%Folder Options"
Attrib +H +S "%str%desktop.ini"
Attrib +R "%str:~0,-1%"