Страница 1 из 1

Автоматизация удаления неиспользуемых файлов TC

Добавлено: Сб май 12, 2012 00:25
Mellomann
Пишу батник (пока что тестовый, дельнейшее применение будет в другом месте, сечас отрабатываются комманды), с таким содержимым:
del "Default64.bar" "TC32win64.cmd" "TC64.cmd" "TC64comp.cmd" "TCLZMA64.DLL" "TCUNZL64.DLL" "UNRAR64.DLL" "WCMZIP64.DLL" "NOCLOSE64.EXE" "TCMADM64.EXE" "TCMDX32.EXE" "TOTALCMD64.EXE" "Wincmd64.ini" "Wincmd_A64.ini" "WincmdU64.ini" "TOTALCMD64.EXE.MANIFEST" "Plugins\arc\Rar64.exe" "Plugins\exe\7zsfxbutton\Modules\*x64.sfx" "Plugins\exe\7zsfxbutton\Button64.exe" "Plugins\wdx\DirSizeCalc\DirSizeCalcSettings64.exe" "Plugins\wlx\LinkInfo\LinkEditor64.exe" "Plugins\wlx\Imagine\Imagine64.exe" "Plugins\*.wcx64" "Plugins\*.wdx64" "Plugins\*.wfx64" "Plugins\*.wlx64" "Plugins\*.dll64" "Plugins\*.plg64" "Programs\Piriform\*64.exe" /f/q

rd "Plugins\exe\AkelPad64\" "Plugins\wcx\Total7zip\7z-x64\" "Plugins\wlx\Mmedia\ogg-vorbis64\" /s/q

pause
и при этом выделеные жирным группы файлов не удаляются с ответом "не удаётся найти".
В чём ошибка?

Для более удобочитаемого вида привожу список того, что требуется удалить:
[файлы - комманда del]
Default64.bar
TC32win64.cmd
TC64.cmd
TC64comp.cmd
TCLZMA64.DLL
TCUNZL64.DLL
UNRAR64.DLL
WCMZIP64.DLL
NOCLOSE64.EXE
TCMADM64.EXE
TCMDX32.EXE
TOTALCMD64.EXE
Wincmd64.ini
Wincmd_A64.ini
WincmdU64.ini
TOTALCMD64.EXE.MANIFEST
Plugins\arc\Rar64.exe
Plugins\exe\7zsfxbutton\Modules\*x64.sfx (в моём примере комманды удаляется нормально, видимо, из-за отсутствия дальнейшей вложености)
Plugins\exe\7zsfxbutton\Button64.exe
Plugins\wdx\DirSizeCalc\DirSizeCalcSettings64.exe
Plugins\wlx\LinkInfo\LinkEditor64.exe
Plugins\wlx\Imagine\Imagine64.exe
Plugins\*.w?x64 (разная глубина вложености)
Plugins\*.dll64 (разная глубина вложености)
Plugins\*.plg64 (разная глубина вложености)
Programs\Piriform\*64.exe (разная глубина вложености)

[папки - комманда rd]
Plugins\exe\AkelPad64\*.*
Plugins\wcx\Total7zip\7z-x64\*.*
Plugins\wlx\Mmedia\ogg-vorbis64\*.*
Группы для наглядносты выделил синим.

Если мой вариант не рабочий в принципе, предложите, пожалуйста свой, но:
• не более двух строк (по одной для del и rd) - это основное требование всей задачи

з.ы.
Кавычки в первой цитате проверены - все на месте и все парные.

Добавлено: Сб май 12, 2012 00:48
CaptainFlint
Mellomann писал(а):и при этом выделеные жирным группы файлов не удаляются с ответом "не удаётся найти".
В чём ошибка?
Маска вида Plugins\*.wcx64 не подразумевает вложенности, а относится только к тем wcx64-файлам, которые расположены непосредственно в каталоге Plugins. Масок, обозначающих рекурсивный поиск файлов во всех подкаталогах, по-моему, в cmd не существует. (Хотя на 100% не уверен, там много тонкостей, чего-то могу не знать.)

Добавлено: Сб май 12, 2012 01:10
Mellomann
но, ведь, /s выполняет поиск в подкаталогах

Код: Выделить всё

del *.wcx64 /s
в одиночном исполнении удаляет

Добавлено спустя 9 минут:

Блин, точно...
Не тот ключ вписал, надо было /s, а не /f...
Протупил. С параметром "/s" всё чудесным образом заработало!

Добавлено: Сб май 12, 2012 01:14
CaptainFlint
Mellomann писал(а):но, ведь, /s выполняет поиск в подкаталогах
Век живи, век учись. Совсем забыл, что у del есть такой параметр…

Добавлено: Сб май 12, 2012 10:16
Serge Yolkin
Mellomann
В случае дальнейшего добавления масок в список команды можно столкнуться и с ограничением на длину комстроки...

Добавлено: Сб май 12, 2012 10:45
MVV
Нет никаких проблем с разбивкой одной большой команды del на несколько команд del. :)

Добавлено: Сб май 12, 2012 12:39
Вахмурка
MVV писал(а):Нет никаких проблем с разбивкой одной большой команды del на несколько команд del
Mellomann писал(а):не более двух строк (по одной для del и rd) - это основное требование всей задачи

Добавлено: Сб май 12, 2012 15:54
Mellomann
Serge Yolkin писал(а):В случае дальнейшего добавления масок
именно для универсальности и чтобы потом ничего не добавлять заново и нужны варианты со снежинкой.