0
編輯:我認爲for循環運行到子目錄的子目錄中,從每個子目錄返回'Icon'文件夾並將其作爲第一個參數傳遞。我需要做的第一循環僅通過第一組子目錄運行For循環發瘋!嵌套for循環GOTO
示例目錄結構:
文件\ 01 \圖標 文件\ 02 \圖標 文件\ 03 \圖標
所以貫穿01,然後是02,然後是03,然後是01 \ Icon,02 \ Icon,03 \ Icon。它需要停在第一級。
for循環出錯了!你能幫我修好嗎?
似乎嵌套for循環運行faaar太多次,它只是需要運行一次才能找到* .ico的文件名。不知道是否有更快的方法來找到* .ico。我不知道有什麼方法可以在沒有for循環的情況下返回圖標文件名。
@ECHO OFF
set ICOINI=Desktop.ini
for /D /R "%cd%" %%d IN (*) do call :Write_File %%~nd
goto :End_File
:Write_File
attrib +s "%CD%\%1"
echo Set Attributes for: %cd%\%1
for %%F in ("%CD%\%1\Icon\*.ico") do set ICO=%%~nxF
IF EXIST "%CD%\%1\%ICOINI%" attrib -a -s -h "%1\%ICOINI%"
echo [.ShellClassInfo]>"%CD%\%1\%ICOINI%"
echo IconResource="%CD:~2%\%1\%ICO%">>"%CD%\%1\%ICOINI%"
echo InfoTip="%ICO:~0,-4%">>"%CD%\%1\%ICOINI%"
attrib -a +s +h "%CD%\%1\%ICOINI%"
goto :EOF
:End_File
Pause
爲什麼不ü嘗試'換loop'嵌套在'換loop',我認爲這將更好地工作,然後一個'換loop',嵌套在'goto-loop'嵌套到'for-loop'中。通過在兩個循環中的'do'之後使用'()'做到這一點。 – Monacraft
/D/R循環用/ R遞歸,因此它在樹中運行。另一個for循環正在運行以選擇一個文件名 - 它沒有做其他任何事情。你看到什麼問題? – foxidrive
結果是它適用於所有的目錄,一旦它試圖找到%CD%\ Icon不存在的循環。它試圖找到一些不在那裏的東西,大約經歷了十次。 –