|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Перебор жетских дисков в системе, запуск утилиты для каждого из них |
|
Любой язык - [решено] Перебор жетских дисков в системе, запуск утилиты для каждого из них
|
Новый участник Сообщения: 3 |
Всем привет!
Прошу вашей помощи в написании скрипта для групповой политики. Скрипт должен делать следующее: Для каждого жесткого диска с назначенной буквой запускать утилиту sdelete. Данной утилите указывается диск, с которым она должна работать, в следующем виде: Наример так: Первая трудность с которой я столкнулся - отсеивание дисков по типу. Утилита не должна запускаться для USB-дисков, дисководов и сетевых дисков. Попробовал через пакетный файл windows (батник) и утилиту fsutil, но далеко не ушел: Наверняка данные операции можно коротко и красиво проделать с помощью Powershell. Единственное ограничение для нас - версия не выше 2.0 (она по умолчанию стоит на win server 2008R2). Если кто-то уже сталкивался с похожей задачей - помогите решением. |
|
Отправлено: 12:10, 20-09-2016 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
Отправлено: 13:10, 20-09-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Если принципиально cmd попробуйте
В боевом варианте Echo уберите, cls и pause тоже
|
------- Последний раз редактировалось megaloman, 20-09-2016 в 22:37. Отправлено: 22:16, 20-09-2016 | #3 |
Забанен Сообщения: 793
|
|
Отправлено: 10:34, 21-09-2016 | #4 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Всем спасибо за ответы, особенно за решение на Powershell.
Своими силами доделал то, что начал сам. Получилось вот что: @echo off ::Перебираем возможные буквы дисков for %%a in (A B C D E F G H I J K L N M O P Q R S T U V W X Y Z) do ( ::Отбросив лишнее, записываем в переменную i значение, возвращенное командой fsutil fsinfo drivetype for /F "tokens=3" %%i in ('fsutil fsinfo drivetype %%a:') do ( ::Если записанное значение совпадает с "†ҐбвЄЁ©" ("Жесткий" в кодировке CP866) или "Fixed" (для англоязычной версии ОС), запускаем sdelete for %%s in (†ҐбвЄЁ© Fixed) do if %%s==%%i start C:\temp\sdelete.exe -z %%a: |
|
Отправлено: 11:54, 21-09-2016 | #5 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать totopolis, У нас с Вами в принципе батники сделаны по одной идее. Но я не перебираю все возможные буквы дисков по алфавиту - я список имеющихся в системе дисков получаю посредством fsutil fsinfo drives.
И, что интереснее, если задать кодовую страницу chcp 437, то команда fsutil fsinfo drivetype выдаст статус диска на английском языке, что делает ненужным извращаться в переборе †ҐбвЄЁ© Fixed Но то, что сделано своими руками, всегда милее ![]() |
------- Отправлено: 20:41, 21-09-2016 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Диагностика - Утилиты для жестких дисков Victoria|MHDD и аналоги .:[все вопросы]:. | ShaddyR | Программное обеспечение Windows | 900 | 25-08-2023 11:42 | |
[решено] тайминг отключения жетских дисков | illusionmgs | Хочу все знать | 11 | 29-09-2014 15:19 | |
Любой язык - Перебор TXT файлов на рабочем столе и создание жестких ссылок на них в другой папке | Balancer | Скриптовые языки администрирования Windows | 11 | 08-08-2013 10:41 | |
Создатели первых приложений для Google Glass не смогут извлечь из них прибыль | OSZone News | Новости информационных технологий | 0 | 13-05-2013 17:30 | |
RAID - raid-1 из 2 дисков. Замена одного из них. | kittyla | Металлолом | 1 | 21-03-2012 03:26 |
|