批处理文件中特殊的目录

时间:2016-05-03 06:36:45

标签: windows batch-file

我有一个我刚刚创建的批处理文件,只需要一个图像,将其转换为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%"

0 个答案:

没有答案