CMD/BAT - [решено] Маска для папок
-
Bukinozoid
CMD/BAT - [решено] Маска для папок
Я тут уже задавал вопрос, но он был слишком длинный и остался в итоге не решён. Так вот суть: как задать маску для папок находящихся на пути C:\Hello\Yes\111\123\ C:\Hello\No\111\456\ C:\Hello\Help\111\789\ чтобы не перечислять в пути папки yes no help, а задать для них маску и проваливаться в подкаталоги по этой маски.
-
megaloman
Re: CMD/BAT - [решено] Маска для папок
Код:
или, в зависимости от Ваших обстоятельств,
Код:
Код:
Код: Выделить всё
FOR %%D IN (Yes No Help) DO FOR /F "usebackq delims=" %%i IN (`dir "C:\Hello\%%D\" /b /A:D /S`) DO @Echo %%iили, в зависимости от Ваших обстоятельств,
Код:
Код: Выделить всё
FOR %%D IN (Yes No Help) DO FOR /F "usebackq delims=" %%i IN (`dir "C:\Hello\%%D\111\" /b /A:D /S`) DO @Echo %%iКод:
Код: Выделить всё
@Echo Off
FOR /F "usebackq delims=" %%D IN (`dir "C:\Hello\" /b /A:D`) DO (
FOR /F "usebackq delims=" %%i IN (`dir "C:\Hello\%%D\111\" /b /A:D /S`) DO @Echo %%i
)-
Bukinozoid
Re: CMD/BAT - [решено] Маска для папок
Первые два не катят, так как папок очень много и смысл маски пропадает, а вот в последний не пойму куда действие запихнуть, чтоб удалялись папки 123, 456 и 789?
-
Bukinozoid
Re: CMD/BAT - [решено] Маска для папок
Если убить все директории ниже 111\, то
Код:
Если некоторые определённые, то
Код:
или
Код:
Если конечно не надо иметь жесткой связки Yes-123 No-456 Help-789, в противном случае задача о маске теряет смысл, придётся как-то описывать каждую пару папок.
Код:
Код: Выделить всё
@Echo Off
FOR /F "usebackq delims=" %%D IN (`dir "C:\Hello\" /b /A:D`) DO (
FOR /F "usebackq delims=" %%i IN (`dir "C:\Hello\%%D\111\" /b /A:D`) DO Rd C:\Hello\%%D\111\%%i /S /Q
)Если некоторые определённые, то
Код:
Код: Выделить всё
@Echo Off
FOR /F "usebackq delims=" %%D IN (`dir "C:\Hello\" /b /A:D`) DO (
Rd C:\Hello\%%D\111\123 /S /Q
Rd C:\Hello\%%D\111\456 /S /Q
Rd C:\Hello\%%D\111\789 /S /Q
)или
Код:
Код: Выделить всё
@Echo Off
FOR /F "usebackq delims=" %%D IN (`dir "C:\Hello\" /b /A:D`) DO (
FOR %%i IN ("123" "456" "789") DO If Exist "C:\Hello\%%D\111\%%~i" Rd "C:\Hello\%%D\111\%%~i" /S /Q
)Если конечно не надо иметь жесткой связки Yes-123 No-456 Help-789, в противном случае задача о маске теряет смысл, придётся как-то описывать каждую пару папок.
-
Bukinozoid