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

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

Ответить
Настройки темы
CMD/BAT - [решено] Оставить рандомный файл в папках

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


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

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


Добрый день. Помогите пожалуйста. Требуется рукурсивно оставить в подпапках один рандомный файл (все файды - jpg), а остальные удалить. Желательно, но не обязательно, с указанием корневой папки. То есть, указываем имя папки и изо всех подпапок удаляются все файлы кроме одного рандомного. Заранее спасибо.

Отправлено: 08:54, 02-01-2018

 

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


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

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


Спасибо за PowerShell. Приду домой - попробую. Исходные файлы не нужны. Примеры нужны только чтобы залить на тот же fastpic.ru. В крайнем случае, забекаплю исходные каталоги. Просто честно не понимаю - какое значение имеет написание тут цели всех этих операций!

Отправлено: 13:51, 02-01-2018 | #11



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

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


Ветеран


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

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


Цитата MI-5:
Просто честно не понимаю - какое значение имеет написание тут цели всех этих операций! »
Зачастую — существенное и определяющее, коллега.

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


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


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

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


Iska, простите - не понял. Запускаю в PowerShell, создаётся структура папок и всё. А где сами файлы?

Отправлено: 16:44, 02-01-2018 | #13


Аватара для Казбек

Ветеран


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

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


Цитата MI-5:
Требуется рукурсивно оставить в подпапках один рандомный файл (все файды - jpg) а остальные удалить»
Если вам не принципиально решать вашу задачу скриптами, то могу порекомендовать воспользоваться сторонней утилитой - Bulk Rename Utility. Она маленькая и может быть скачана в портативном виде.

Выполнять инструкцию нужно пошагово и точно: основные пункты настроек выделены желтым цветом, секции, возле которых стоит номер, должны соответствовать скринам.
Этап номер 1

Перед тем, как нажать кнопочку переименовать, не забудьте: Action - Select All
Этап номер 2

Перед тем, как нажать кнопочку переименовать (на этом этапе переместить в нужную вам папку, пункт 2 на скрине), не забудьте: Action - Select All

Все. В исходном каталоге осталось то, что вам нужно. Перемещенное можете удалить в два клика.

-------
Кто реку перешел, тому росы бояться ни к чему


Последний раз редактировалось Казбек, 02-01-2018 в 21:07.

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

Отправлено: 20:49, 02-01-2018 | #14


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


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

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


Казбек, Чёрт ногу сломит с рандомным выбором. В предложенном Вами варианте получаем в итоге первый файл в папке с именем 9. Пока через раз получается (Action-Random Sort), но это как-раз то, что нужно. Думаю, на десятитысячной папке привыкну)) Спасибо.

Отправлено: 23:59, 02-01-2018 | #15


Ветеран


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

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


Цитата MI-5:
Запускаю в PowerShell, создаётся структура папок и всё. »
Покажите, как это выглядит.

Цитата MI-5:
А где сами файлы? »
Должны быть внутри.

Отправлено: 01:41, 03-01-2018 | #16


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


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

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


Iska, Просто названия исходных папок. Папки пустые. К примеру, были папки 1,2,3. В результате выполнения скрипта в результирующей папке создаются те же самые пустые папки 1,2,3, но пустые. Удаляю исходные - просто удаляются. Уж и Windows Management Framework, и PowerShell обновлял - безрезультатно. Ну да ладно. Делаю по инструкции Казбека. Спасибо за помощь.

Там у Казбека я делаю даже проще: просто переименовываю не сквозной нумерацией, потом в Total Commander'e Ctrl+B и удаляю все не девятки. В итоге остаётся по одному искомому файлу в папке. Задача решена.

Последний раз редактировалось MI-5, 03-01-2018 в 08:14.


Отправлено: 08:03, 03-01-2018 | #17


Ветеран


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

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


MI-5, я просил:
Цитата Iska:
Покажите, как это выглядит. »
не «расскажите», а «покажите». Как выглядит Ваш код. Как выглядит его запуск. Что при этом происходит в среде исполнения — окне консоли PowerShell или окне PowerShell ISE.

Отправлено: 08:18, 03-01-2018 | #18


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


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

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


Iska, Код копипастил у Вас с первой страницы. Скрипт выполняется без ошибок, но папки пустые. Всё, опытным путём удалось установить, что проблема в квадратных скобках в имени подпапок. Если заменить на круглые или совсем удалить - скрипт работает правильно. Ещё раз спасибо.

Отправлено: 09:26, 03-01-2018 | #19


Ветеран


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

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


MI-5, оттого-то я и просил Ваш код и процесс исполнения, дабы увидеть Ваши пути.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:03, 03-01-2018 | #20



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] скрипт, который создаст текстовый файл и запишет в него инфу о всех папках daniil_im Скриптовые языки администрирования Windows 1 19-09-2017 19:08
CMD/BAT - [решено] Рандомный VolumeID Freem Скриптовые языки администрирования Windows 8 05-01-2016 16:26
CMD/BAT - [решено] Переименовать каждый первый файл в папках MI-5 Скриптовые языки администрирования Windows 4 22-12-2015 19:18
CMD/BAT - [решено] Вывод в файл имен последних файлов в папках ivanxam Скриптовые языки администрирования Windows 2 01-10-2013 13:26
CMD/BAT - Рандомный запуск на CMD AlexPebody Скриптовые языки администрирования Windows 3 30-08-2013 10:25




 
Переход