Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Требуется помощь по удалению...

Ответить
Настройки темы
CMD/BAT - Требуется помощь по удалению...

Новый участник


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

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


Здравствуйте, уважаемые.
Возможно, проблема тривиальна, но самому не дойти до решения.
Есть папка Users, в ней папки с именами пользователей, в них, естественно еще куча подпапок и файлов. Требуется с помощью bat файла удалить определенные файлы во всех корневых папках пользователей, не затрагивая их подпапки. Только в корневых папках пользователей. То есть, к примеру, в папке C:\Users\Vasia удалить файлы с расширением txt, не затрагивая подпапки C:\Users\Vasia\Documents, C:\Users\Vasia\Desktop и т.д.
Учитывая, что пользователей около трех сотен, и имена у них разные, надо это как то автоматизировать.
"Del /s" в моем случае не подходит, так как удаляет файлы во всех вложенных папках, а не только в корневой каждого пользователя.

Отправлено: 21:02, 10-12-2018

 
mwz mwz вне форума

Аватара для mwz

Ушел из жизни


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

Профиль | Сайт | Отправить PM | Цитировать


Iska

А, так это окно ввода в FireFox 63.0.3
Куда я Ctrl+V сделал.

А в IE, как я сейчас посмотрел, этот значок не проявляется.

-------
Mikhail Zhilin


Отправлено: 01:15, 13-12-2018 | #31



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


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

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


Цитата mwz:
А, так это окно ввода в FireFox 63.0.3
Куда я Ctrl+V сделал. »
Ясно. А где Ctrl-C делался?

Отправлено: 01:27, 13-12-2018 | #32

mwz mwz вне форума

Аватара для mwz

Ушел из жизни


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

Профиль | Сайт | Отправить PM | Цитировать


Цитата Iska:
А где Ctrl-C делался? »
Перенаправил вывод так, как предложил megaloman (test.bat>result.txt), а затем открыл result.txt в Akelpad — откуда и скопировал. Символ 0x0C там выглядел как прямоугольник, который во многих шрифтах используют как глиф-заместитель (в частности для непечатных символов).

PS
А, наконец-то понял смысл вопроса.
Нет, не из консоли.

-------
Mikhail Zhilin


Последний раз редактировалось mwz, 13-12-2018 в 13:53.


Отправлено: 13:44, 13-12-2018 | #33


Ветеран


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

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


Цитата mwz:
Перенаправил вывод так, как предложил megaloman (test.bat>result.txt), а затем открыл result.txt в Akelpad — откуда и скопировал. »
Точно, простое перенаправление вывода кажет:

Оказывается, я просто сто лет не использовал команду CLS в пакетных файлах .

Цитата mwz:
А, наконец-то понял смысл вопроса.
Нет, не из консоли. »
Я думал, может какой-нибудь SciTE или ещё что-нибудь подобное (когда увидел вертикальный курсор), которые умеют исполнять код под внешним исполнителем и перехватывать вывод.

Отправлено: 14:33, 13-12-2018 | #34


Ветеран


Contributor


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

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


mwz, Простите меня! Надо делать так: файл.bat >результат.txt 2>&1 При этом и сообщения CMD о ошибках тоже попадут в файл, что при отладке немаловажно. А первый символ при этом меня никогда не напрягал и я о нём даже не задумывался. Спасибо Iska, просветил

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 13-12-2018 в 14:54.


Отправлено: 14:43, 13-12-2018 | #35


Ветеран


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

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


Я тогда напишу сюда же, как сие может выглядеть под Far Manager'ом:
Скрытый текст
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

echo Какой-то вывод
несуществующая команда

endlocal
exit /b 0

где «edit:» — префикс плагина FarCmd, указывающий плагину перехватить вывод («<») stdout и stderr («*») команды, в роли которой в данном случае выступает "%comspec% /c" с параметром «0003.cmd». Перехваченный вывод направляется во временный файл, который открывается в редакторе:

Если нужно направить вывод stdout и stderr в отдельные окна — вместо «*» используется «?».

Команду можно поместить в меню пользователя (вызываемое по «F2») и пользовать по необходимости. Я чаще всего пользую данный плагин для получения справки, в несколько изменённом виде, а именно в виде Lua-кода:
Код: Выделить весь код
lua:if CmdLine.Empty then print("edit:<" .. mf.clip(0)); else Keys("CtrlHome");print("edit:<"); Keys("CtrlEnd Enter"); end;
т.е., я набираю в командной строке, например, «for /?», нажимаю «F2», нажимаю «R» (горячая клавиша, заданная этому созданному пункту меню, «Run & Edit»), выполняется вышеуказанный код, который, если командная строка пуста, вводит в командную строку текст «edit:<», затем вводит содержимое буфера обмена и останавливается (позволяя либо сразу выполнить команду по ручному нажатию «Enter», либо предварительно откорректировать её, а потом уже нажимать «Enter»), в противном случае «нажимает» комбинацию клавиш «CtrlHome», помещающую курсор ввода в начало командной строки, вводит в позиции курсора ввода текст «edit:<», затем «нажимает» комбинацию клавиш «CtrlEnd», помещающую курсор ввода в конец командной строки и «нажимает» «Enter» отправляя команду на исполнение. В описанном примере результатом будет открытый редактор, в котором будет находиться вся выведенная справка по команде «for»:


В общем и целом — до чёртиков удобно.

Отправлено: 15:37, 13-12-2018 | #36

mwz mwz вне форума

Аватара для mwz

Ушел из жизни


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

Профиль | Сайт | Отправить PM | Цитировать


Цитата megaloman:
Надо делать так »
Что, повторить так? Без проблем, но вот тут уже не пойму, как запускается и работает вторая часть.

-------
Mikhail Zhilin


Отправлено: 16:22, 13-12-2018 | #37


Ветеран


Contributor


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

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


mwz, возьмите, например, батник от Iska
Запустите его. (Для определенности обзовём его файл.bat)
Получите на консоли то что в эхо и сообщение об отсутствующей команде.
Запустите файл.bat >результат.txt
Получите в тхт- файле то, что в эхо, и на консоли сообщение об отсутствующей команде
Запустите файл.bat >результат.txt 2>&1
Получите в файле и то, что в эхо, и аварийное сообщение об отсутствующей команде
Стандартно вывод направляется в поток с дескриптором 1 (мы его направляем в файл.
Ошибочные сообщения направляются в поток 2. Указание 2>&1 перенаправляет этот поток туда же, куда направлен поток 1.
Поищите в гугле cmd перенаправление вывода.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

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

Отправлено: 18:16, 13-12-2018 | #38


Ветеран


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

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


Цитата Iska:
... команду CLS »
этот символ можно лицезреть еще так:
Код: Выделить весь код
@echo off& for /f %%a in ('cls') do echo:%%a& pause>nul

Отправлено: 23:59, 13-12-2018 | #39


Ветеран


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

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


alpap, значит, вероятнее всего, моё предположение было неверным, и ClearScreen реализует сам командный процессор через «сладкую парочку» FillConsoleOutputCharacter() и FillConsoleOutputAttribute().

Отправлено: 00:25, 14-12-2018 | #40



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Требуется помощь по удалению...

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] нужна помощь по удалению BaiduAn3.0 gott1990 Лечение систем от вредоносных программ 3 13-12-2014 22:45
Route/Bridge - [решено] Требуется помощь по распиновке. Alan Priest Сетевые технологии 2 15-07-2014 13:29
Требуется помощь по удалению вирусов swetta Лечение систем от вредоносных программ 8 21-03-2014 00:45
[решено] Нужна ваша помощь по удалению klpclst.dat KochkinNV Лечение систем от вредоносных программ 25 17-04-2012 17:14
All Требуется помощь по 2000 Ashot Microsoft Windows NT/2000/2003 7 07-02-2004 02:36




 
Переход