编辑:已修复,事实证明问题不包括 '"ICO=%%~nxF"' 周围的引号
所以我几乎完善了我的自动文件夹图标更换器,但现在它运行良好但有一个小问题,它会运行并且总是在第 113 个文件夹处停止。我不知道为什么它会停在那个数字上,并且在另一个文件夹中它一直运行到第 160 个文件夹左右。为什么我的批处理文件会崩溃?
@ECHO OFF
set ICOINI=Desktop.ini
for /D %%d IN (*) do (
set "myDIR=%%~d"
call :write_File myDIR
)
Pause
goto End_File
:Write_File
setlocal EnableDelayedExpansion
set "FOLDER=!%~1!"
attrib +a +s "!FOLDER!" /d /s
for %%F in ("!FOLDER!\Icon\*.ico") do (set ICO=%%~nxF)
IF EXIST "!FOLDER!\%ICOINI%" attrib -a -s -h "!FOLDER!\%ICOINI%"
(
echo [.ShellClassInfo]
echo IconResource=!CD:~2!\!FOLDER!\Icon\%ICO%, 0
echo IconFile=!CD:~2!\!Folder!\Icon\%ICO%
echo IconIndex=0
echo InfoTip=%ICO:~0,-4%
echo.
echo FolderType=Videos
echo DefaultDropEffect=4
echo ConfirmFileOp=0
)>"!FOLDER!\%ICOINI%"
attrib -a +s +h "!FOLDER!\%ICOINI%"
echo !FOLDER!
endlocal
goto :EOF
:End_File
exit /b
我很想告诉你它在哪里或谁退出,但它只是通过跑步关闭 1/2 - 2/3 左右。