Установка\сброс атрибутов файлов и папок

Тема в разделе "Пакетные файлы CMD, BAT", создана пользователем Drongo, 12 окт 2013.

  1. Drongo
    Оффлайн

    Drongo Ассоциация VN/VIP Разработчик

    Сообщения:
    7.902
    Симпатии:
    8.221
    Приветі.

    В общем есть флешка и на ней стопиццот папок, подпапок, файлов, после вируса у большинства атрибут скрітій и системній, т.е. отображаются они только после показа скрітіх и системніх. Когда-то я помню делал cmd'шник делающий сброс атрибутов на нормальній, но сейчас сходу не могу вспомнить как прописать, чтобі скажем файл SetAttrib.cmd запущеній из корня флешки віполнил бі поставленую задачу. Подсобите правильно написать, а?

    Вот так конечно срабатівает, но для конкретной папки, а прописівать вручную кажду влом, тем более если папка содержит кирилицу, то переводить каждое имя в ОЕМ866 вообще изврат
    Код (Text):
    @echo off
    chcp 1251
    attrib -s -h autorun.old /s /d
    Я просто не могу щас сходу вспомнить как делал... А говорят, в соседней теме, что мозг реально начинает работать токо после 50 лет. )))

    Спасибо.
     
  2. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.478
    Симпатии:
    4.306
    :D Есть у меня такой знакомый. МОЗГ.

    У меня много чего есть на эту тему.
    Если по самому простому, то вирусня делает скрытыми обычно только корневые папки без вложенных,
    поэтому будем работать без рекурсии (так быстрее - особенно для флешки):

    Код (Text):
    @echo off
    SetLocal EnableExtensions

    cd /d "%~dp0"

    chcp 1251>nul
    for /f "delims=" %%i in ('dir /b /a') do attrib -s -h "%%~i"
    :: локализуем переменные, разрешаем использовать доп. ключи, например, /F - если такая опция принудительно отключена в реестре
    SetLocal EnableExtensions

    :: Переходим в папку с батником. Иначе, если батник запустить "От имни Администратора", операция будет произведена над C:\Windows\System32, чего мы совсем не ожидаем
    cd /d "%~dp0"

    :: Переходим на кодовую страницу с большим кол-вом поддерживаемых символов:
    :: т.е. сможет обрабатывать, например, украинские буквы в именах
    chcp 1251>nul

    for /f "delims=" - на разбивать имена с пробелами на части

    :: /B - віводить только имена без доп. инфы
    :: /A - показывать файлы с любыми атрибутами
    dir /b /a

    :: Снять атрибут -S (system - системный), -H (hidden - скрытый).
    attrib -s -h

    Чтобы добавить рекурсивную обработку, достаточно дописать ключ /S к Dir,
    хотя в этом случае код ниже от registr будет делать тоже самое.
     
    Последнее редактирование: 12 окт 2013
    machito, Kиpилл и Drongo нравится это.
  3. regist
    Оффлайн

    regist гоняюсь за туманом Ассоциация VN/VIP VIP Разработчик

    Сообщения:
    11.382
    Симпатии:
    5.268
    Drongo, сборник шаблонов, раздел - Полезности - Raznoe

     
    Последнее редактирование: 12 окт 2013
    machito и Drongo нравится это.
  4. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.478
    Симпатии:
    4.306
    А это вариант со сбросом прав и восстановлением владельца.
    Этап работ с правами задействуется только в случае, когда обычных прав не хватило для изменения атрибутов файла/папки.

    Код (Text):
    @echo off
    SetLocal EnableExtensions

    cd /d "%~dp0"
    Set "Cur=%~dp0"
    Set "Cur=%Cur:~0,-1%"

    chcp 1251 >nul

    for /f "delims=" %%i in ('dir "%Cur%\*" /b /a') do Call :RecovFolder "%Cur%\%%i"
    pause
    exit /B

    :RecovFolder [Полный путь к объекту]
      attrib -s -h "%~1"
      attrib "%~1"|>nul FindStr /BIR "....H.."
      if not errorlevel 1 (
        Call :GrantAccess "%~1"
        attrib -s -h "%~1"
      ) else (
        attrib "%~1"|>nul FindStr /BIR "...S..." && (
          Call :GrantAccess "%~1"
          attrib -s -h "%~1"
        )
      )
    exit /b

    :GrantAccess [Полный путь к объекту]
      takeown /f "%~1" /d y
      echo y|cacls "%~1" /g %username%:f
    exit /b
     
    machito, Kиpилл и Drongo нравится это.
  5. Drongo
    Оффлайн

    Drongo Ассоциация VN/VIP Разработчик

    Сообщения:
    7.902
    Симпатии:
    8.221
    Такого не пробовал, ща проверю.
    Код (Text):
    @echo off
    SetLocal EnableExtensions

    cd /d "%~dp0"

    chcp 1251>nul
    for /f "delims=" %%i in ('dir /b /a') do attrib -s -h "%%~i"
    Да по моему так и делал, помню что как-то слишком просто было.
    Код (Text):
    attrib "*" -s -h /S /D
    Не работает скачивание архива. Вижу страницу html откріваю в браузере, а там похоже архив рар, ну вижу ж заголовок файла, рар! а открівается как html.
    Код (Text):
    Rar!I!&"e:хЧ∙ ╠╦╓SX▄ё:'|╗┼ЭA█иF?├_╣─НMзS?с DЬ▄_д?PЧ▐ГTjuЗs7
    ╧c╒в╔,еч@бЙф°>щВъ╞N╒Щ+OХv6░]WУ/ -Е─жий─Цї╖zN╦0═║FW 0■#√"к╫CK'╣Шн+└°╧Аh.DъЯвF─
    --- Объединённое сообщение, 12 окт 2013, Дата первоначального сообщения: 12 окт 2013 ---
    А то вся порнуха мужа вілезет наружу ахаха.:D
    --- Объединённое сообщение, 12 окт 2013 ---
    Сделал, отработал скрипт без проблем, а то через ТС файлі вижу, а на флешке их типа нет..

    Спасибо, вопрос решён.
     
    Последнее редактирование: 12 окт 2013
    machito и Kиpилл нравится это.

Поделиться этой страницей