Windows - Пакетный файл, как зациклить или повторить подпрограмму?

Windows - Пакетный файл, как зациклить или повторить подпрограмму?

Мне нужно 13 папок: одна основная папка "Folder_A" и двенадцать других подпапок на двенадцать месяцев (это финансовая штука). Мой код пакетного файла назначает атрибуты Folder_A. Я хочу, чтобы эти атрибуты повторялись для других двенадцати файлов. Как сделать это в цикле? Сейчас я знаю только, как скопировать-вставить двенадцать раз и изменить имена папок, боже мой, но мне нужно сделать это для многих других папок A, B, C, D и т. д... Как назначить/установить атрибуты папок, повторяющиеся для двенадцати подпапок?

CreateFolders.bat

@ECHO OFF  

PUSHD "%~dp0"  
MKDIR "Folder_A"  
ATTRIB +S "Folder_A"  
ATTRIB -R "Folder_A"  
ATTRIB -H -R "Folder_A\BLUEA.ini.ico"  
ATTRIB -H -R "Folder_A\Desktop.ini"  
COPY /Y "BLUEA.ini.ico" "Folder_A\BLUEA.ini.ico"  
ECHO [.ShellClassInfo] > "Folder_A\Desktop.ini"  
ECHO IconFile=BLUEA.ini.ico >> "Folder_A\Desktop.ini"  
ECHO IconIndex=0 >> "Folder_A\Desktop.ini"  
ECHO InfoTip=Apples Apples Apples >> "Folder_A\Desktop.ini"  
ATTRIB +H +R "Folder_A\BLUEA.ini.ico"  
ATTRIB +H +R "Folder_A\Desktop.ini"  
ATTRIB +R "Folder_A"  
POPD  

MD Folder_A\2019_01
MD Folder_A\2019_02
MD Folder_A\2019_03
MD Folder_A\2019_04
MD Folder_A\2019_05
MD Folder_A\2019_06
MD Folder_A\2019_07
MD Folder_A\2019_08
MD Folder_A\2019_09
MD Folder_A\2019_10
MD Folder_A\2019_11
MD Folder_A\2019_12

EXIT

решение1

Предполагая, что значки папок должны меняться вместе с вашими буквами, этот пакет с вложенными for и (блоками кода) может подойти:

:: A:\Test\SU_1442422.cmd
@ECHO OFF  

PUSHD "%~dp0"
For %%F in (A B C D) Do (
    MKDIR "Folder_%%F"  
    ATTRIB    -R "Folder_%%F"  
    ATTRIB -H -R "Folder_%%F\BLUE%%F.ini.ico"  
    ATTRIB -H -R "Folder_%%F\Desktop.ini"  
    COPY /Y "BLUE%%F.ini.ico" "Folder_%%F\"  

    ( ECHO [.ShellClassInfo]  
      ECHO IconFile=BLUE%%F.ini.ico
      ECHO IconIndex=0
      ECHO InfoTip=Apples Apples Apples
    ) > "Folder_%%F\Desktop.ini"

    for %%M in (01 02 03 04 05 06 07 08 09 10 11 12) do (
        MKDIR     "Folder_%%F\2019_%%M"
        ATTRIB +R "Folder_%%F\2019_%%M"
    )

    ATTRIB +H +R "Folder_%%F\BLUE%%F.ini.ico"  
    ATTRIB +H +R "Folder_%%F\Desktop.ini"  
    ATTRIB +S +R "Folder_%%F"  
)
POPD

введите описание изображения здесь

Связанный контент