
Quiero 13 carpetas: una carpeta principal "Carpeta_A" y otras doce subcarpetas para los doce meses (es una cuestión de finanzas). El código de mi archivo por lotes asigna atributos de Carpeta_A. Quiero que estos atributos se repitan en los otros doce archivos. ¿Cómo hacer esto en un bucle? En este momento, sólo sé copiar y pegar doce veces y cambiar los nombres de las carpetas, Dios mío, pero necesito hacer esto para muchas otras carpetas A, B, C, D, etc... Cómo asignar/establecer atributos de carpeta que se repiten para las doce subcarpetas?
CrearCarpetas.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
Respuesta1
Suponiendo que los íconos de las carpetas cambien con sus letras, este lote con anidados para y (bloques de código) podría funcionar:
:: 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