Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 1759
Благодарности: 966

Профиль | Цитировать


Вот полный вариант, что бы не путаться. С исправлением замечаний по поводу файлов в корне и ошибки при создании папок:
читать дальше »

Код: Выделить весь код
@echo off
setlocal

set "wmic=wmic logicaldisk where drivetype=3 get name /value"

:: Определяем локальные диски
for /f "tokens=2 delims==" %%i in (' "%wmic%" ') do call:1 %%i\

:: Что-то делаем со список папок из корня каждого локального диска
for /f "tokens=2,5 delims=?:=" %%i in (' set folder? ') do (
    
    echo xcopy /s /y /h /i "%%i:%%j\*.aaa" "C:\Clean\%%i\%%~nxj\"
    echo xcopy /s /y /h /i "%%i:%%j\*.bbb" "C:\Clean\%%i\%%~nxj\"
    echo del /s "%%i:%%j\*.aaa"
    echo del /s "%%i:%%j\*.bbb"


)

goto:eof

:1

pushd %1

:: Исключаем из корня диска скрытые и системные папки
for /f "tokens=*" %%i in ('dir /b /ad-s-h') do set "folder?%1%%~snxi=%%~fi"

:: А так же те папки, которые надо исключить (их указывать короткими именами)
for %%i in (PROGRA~1,PROGRA~2,Windows,Users,MUSIC) do set "folder?%1%%i="

:: Копируем/удаляем файлы из корня локальных дисков
for /f "tokens=1 delims=:" %%i in ("%1") do (

    echo xcopy /y /h /i *.aaa "C:\Clean\%%i\"
    echo xcopy /y /h /i *.bbb "C:\Clean\%%i\"
    echo del *.aaa
    echo del *.bbb

)

popd
ЗЫ. Заменил в названии переменных "_" на "?" на случай если существуют папки, где в названии присутствует "_"

Последний раз редактировалось Foreigner, 19-06-2013 в 22:06.

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:20, 19-06-2013 | #15