Проекты

Ночного тупняка вопрос

Мои дорогие воображаемые программисты! Скажите мне, плз, существует ли команда cmd, которая убивала бы произвольные директории в папке, не убивая саму папку? Я чет затупил и не могу сообразить.

del C:\Directory\*.* – убьет файлы в папке Directory, но оставит поддиректории.

rd C:\Directory\ – убьет саму папку совсем содержимым.

А есть ли способ очищать папку от всего мусора – и файлов и поддиректорий, — не удаляя саму папку? А то сейчас я я делаю это вот так:

rd C:\Directory\ /s /q 
md C:\Directory\

Оно, конешно, и так работает, но метод какой-то уж очень per anus, не? Должно же это как-то в одну строчку решаться?

Простите, если кому смешно и элементарно, “я ж не настоящий сварщик, я маску на стройке нашел…” (с)

,

7 комментария к записи Ночного тупняка вопрос

  1. Grau 03.03.2013 в 23:13 #

    Поставить пакет CoreUtils из GnuWin32, и делать как в юниксах:

    rm -rf C:\Directory\*

    • Semiurg 03.03.2013 в 23:17 #

      Отличный способ упростить задачу, ога… 🙂

  2. slow 03.03.2013 в 23:51 #

    Ну, потратил десять минут на прошерстить гугол и пять минут на потестить, вроде работает
    Создаем батник со след текстом

    @echo off
    cd «%1»
    del *.* /Q
    for /d %%i in (*) do rmdir /s /q «%%i»

    обзываем как нибудь и параметром ему передаем полный путь до папки которую надо почитстить

    • Andrey 08.03.2013 в 23:16 #

      Батник не сработает, если буква диска удаляемой папки отличается от папки с батником

      Правильный способ на примере %TEMP%

      del /Q «%TEMP%\*» && for /d %%i in («%TEMP%\*») do rd /s /q «%%i»

  3. hidden 04.03.2013 в 3:25 #

    Если это надо автоматически делать, то можно совместить приятное с полезным и заюзать вместо стандартного планировщика nnCron. Он умеет и директории чистить и много всякого прочего делать.

  4. goga128 04.03.2013 в 6:10 #

    Уж коли у вас стоит Windows7 то давно пора переходить на PowerShell. В нем ваша задача действительно решается в одну строчку: Remove-Item c:\Directory\* -recurse

    Кстати PoSH имеет обратную совместимость с cmd и в нем работают большая часть команд из старых добрых батников, те доработка скриптов нужна минимальная.

    • slow 04.03.2013 в 11:49 #

      Или так, да. PSH рулит