Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Маска для папок (http://forum.oszone.net/showthread.php?t=236163)

Bukinozoid 07-06-2012 10:44 1929912

Маска для папок
 
Я тут уже задавал вопрос, но он был слишком длинный и остался в итоге не решён. Так вот суть: как задать маску для папок находящихся на пути C:\Hello\Yes\111\123\ C:\Hello\No\111\456\ C:\Hello\Help\111\789\ чтобы не перечислять в пути папки yes no help, а задать для них маску и проваливаться в подкаталоги по этой маски.

megaloman 07-06-2012 11:41 1929943

Код:

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 08-06-2012 09:26 1930450

Первые два не катят, так как папок очень много и смысл маски пропадает, а вот в последний не пойму куда действие запихнуть, чтоб удалялись папки 123, 456 и 789?

megaloman 08-06-2012 18:51 1930823

Если убить все директории ниже 111\, то
Код:

@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 09-06-2012 09:24 1931058

megaloman, спасибо Вам большое!!!


Время: 09:15.

Время: 09:15.
© OSzone.net 2001-