Перенести каждый файл в свою папку
Есть каталог с огромным количеством файлов, файлы имеют имя: "Вася_дата_создания_файла.ts", "Федя_дата_создания_файла.ts" и т.д. даты создания файлов в именах - разные, так вот, нужно что бы все файлы с именем Вася, но разными датами создания файлов в именах перенеслись в папку с именем Вася, папка тоже должна сама создатся, файлы с "Федя" перенеслись в папку Федя и т.д.Нашел для подобной задачи:
В папке находятся файлы
First.mp3
Second.mp3
Third.mp3
Fourth.mp3
код такой:
@echo off
FOR %%f IN (*.mp3) DO md "%%~nf" & move /Y "%%f" "%%~nf\"
помогите допилить под мою задачу, этот код каждый файл в отдельную папку переносит, а мне нужно все файлы с Вася или Федя в начале в одну папку, без учета дат и расширений файлов.
Подробнее
geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,вложенный цикл,пидоры помогите,реактор помоги,песочница
Еще на тему
2. Запускаешь его, читаешь ман по созданию кататалогов, использованию поиска и копированию/переносу файлов пачками и получаешь профит
ЗЫ В ТС есть кстати функция пакетного переименования файлов в зависмости от указанного шаблона
и не надо ниче кодить
А не проще ли примонтировать раздел к ОС с нормальной командной строкой и сделать всё это по маске?
В винде как с аналогами команд cut, grep, как обстоят дела с работой по маске?
Так это вроде же с win10 появляется?
>Да и PowerShell есть, у которого возможностей в разы больше cmd.
На мой взгляд та же фигня, что и cmd. Работа с файлами всё так же через задницу.
Ну да, с 10ки. Не вижу смысла на чем то ниже сидеть, ну тут каждому свое, не ради холивара)
>На мой взгляд та же фигня, что и cmd. Работа с файлами всё так же через задницу.
Ну может, спорить не буду. Мой опыт скриптописания чуть больше чем ноль. На PS в основном писал парочку для работы с AD. Что в принципе крайне приятно было. Хотя первое время после баша хотелось себе мозг выколоть.
md вася
муве вася*.* to вася
сейчас уже и не вспомню
for /f "tokens=1 delims=_" %%a in ("%%~nf") do (
md "%%a" 2>nul
move /Y "%%f" "%%a\"
)
я не программист, как это будет в итоге?
У тебя бэкап есть?
способом на скриншоте получаешь список файлов в папке
копируешь этот список в эксельку.
при помощи формулы типа =LEFT(A1,4) получаешь список искомых вася, петя etc. копируешь его на другой лист "спец.вставка - значения", применяешь "удалить дубликаты".
остается список будущих папок
к нему применяешь
=CONCATENATE("xcopy ";"*";A1;"*";" ";A1;" /I")
(если передняя * не нужна, убираешь из формулы)
получившееся
xcopy *vasya* vasya /I
xcopy *Petya* Petya /I
xcopy *Sanek* Sanek /I
копируешь в новый cmd файл и запускаешь в той папке
юзай =LEFT(A1;FIND("_";A1)-1)
у меня кстати была задача скриншотить некопируемые пдф (печать тоже нельзя), а потом резултат сливать назад в пдф
когда файлов больше сотни, вручную уже влом, поэтом написал пару скриптов на autohotkeys которые делали работу за меня.
кстати, попался excel файл, тоже от всего защищен, в т.ч. и от скриншота (черный экран вместо окна программы). при открытии сторонними прогами файл пустой, есть только надпись с требованием открывать экселем. при открытии шлет логин/пароль на сервер и только тогда открывает. никогда бы не подумал что можно так защитить что ничем нельзя скопировать. по факту - только физически фоткать экран и распознавать. или вручную набирать.
чисто спортивный интерес - есть ли действенный способ такое скопировать?
в процессе гугления нашел еще пару способов, которые не удались(сам не проверял)
при запуске в виртуалке документ детектит что это не физическая тачка и ругается
при трансляции экрана на другое устройство под андроидом через AnyCast на трансляции тоже черный экран.
(в общем, разве что вижу способ - написать драйвер устройства, которое будет делать вид что оно монитор, но при этом еще и регулярно сливать скриншоты в папку. но я не программист, так, js балуюсь, да и задача больше не актуальна. но тенденция настораживает - раньше я считал что все, что отображается, априори может быть скопировано)
окошко экселя выглядит вот так
python3 скрипт путь_к_Старой_папке путь_к_новой_папке
https://codeshare.io/gLpOn0
https://dropmefiles.com/lHTqW