![]() |
сортировка файлов по части имени
Добрый день! Есть одна задача, имеется очень большая папка на F: с файлами в именах которых в скобках указан год (1989) (пример: Иванов Иван Иванович (1978).txt). года разные. Помогите отсортировать именно в этой папке и переместить по пяти папкам (2020-2011, 2010-2001, 2000-1991, 1990-1981, 1980-1971) на C:. Спасибо.
|
опрелеленно повершелл - на батниках писать вспотеете ( про себя употребил другое слово)
- владеете повершелл ? |
Цитата:
Код:
$fldsrc = 'F:\очень большая папка' |
Powershell.
Подразумевается, что папки 1980-1971 и т. д. по пути в $to созданы. Код:
$from = "F:\temp\from" |
Цитата:
Код:
@Echo Off |
Приветствую.
Форум вроде живой, может кто поможет. Ситуёвина следующая - имеется куча файлов с разной длинной имени или названия, но в конце каждого год из четырех цифр. Как можно сделать сортировку имен файлов именно по годам ? Сколько времени потратил на поиск и начего путного не нашел. Заранее благодарен. |
Цитата:
PowerShell: Код:
Get-ChildItem -File | Sort-Object {$_.BaseName.Substring($_.BaseName.Length - 4)} |
Код:
@Echo Off |
Цитата:
Все верно - имя + год. расширение. У имени различная длинна, но последние 4 символа всегда год. Не кидайтесь в меня тухлыми помидорами, но с Powershell я не знаком от слова Совсем.. Скопировал отсюда туда - все красное и с ошибками. Обьясните чайнику как это сделать. :blush2: Цитата:
|
Цитата:
Цитата:
Цитата:
|
Вложений: 1
Цитата:
|
Вложений: 1
Цитата:
|
я не знаю, как выбрать конкретную папку для этих команд. Диск внешний винчестер.
|
Откройте Powershell ISE, вставьте туда (в белую верхнюю часть) код, который я давал здесь - http://forum.oszone.net/post-3002243-4.html
Исправьте пути Код:
$from = "F:\temp\from" C:\temp\to - папка, где лежат ваши 5 подпапок (2020-2011, 2010-2001, 2000-1991, 1990-1981, 1980-1971). Запустите выполнение (кнопка play или F5). Скрипт покажет, что он будет делать с фотографиями (описание), реально пока ничего происходить не будет. Если всё выглядит нормально, уберите из кода параметры -WhatIf и запустите код ещё раз. |
Цитата:
Обновитесь до 5.1, 7.3.2+ уже вроде не поддерживает вин-7, у .Net Core и PowerShell Core заканчивается срок действия соглашения об обратной совместимости, уже сейчас тысячи различий, так говорят разработчики. Для того, чтобы взять только файлы в вашем случае надо проверять, файл это или директория: Код:
pushd "E:\Some Folder" |
Цитата:
Всем спасибо за ответы, зря отнял ваше время. Придется или смириться или искать какой то другой способ. Я остаюсь на Вин 7 т.к. считаю ее лучшей ИМХО |
Цитата:
|
Вложений: 1
Цитата:
Мой код надо сохранить в файл с расширением .bat и затем его запускать на выполнение. Прилагаю к сообщению, только уберите расширение .txt, чтобы осталось .bat Код:
Set "BoxIn=Z:\Box_In\abracadabra" |
Цитата:
И кстати нашел, может кому пригодится - all my movies и еще MediaMonkey. В обеих программах есть возможность сортировки по годам. Только что обе они платные, надо или ключи или кряки искать. В общем, всем спасибо, вопрос закрыт :victory: |
Цитата:
Цитата:
|
Потратить 5 минут на скрипт времени нет, зато программы искать с кряками и разбираться с их настройкой - есть.
Ну, удачи. |
Get-ChildItem -File | Sort-Object {$_.BaseName.Substring($_.BaseName.Length - 4)}
1. скрипт шмонать весь комп будет или как-то папку можно обозначить? 2. а год может быть не последние 4 знака в имени.Например: пробел год пробел, без пробелов (чистые 4 знака), а также в скобках (1974). неуж-то интеллект искусственный и вправду заработал? |
Yury197,
Цитата:
Цитата:
|
Цитата:
Цитата:
Сконцентрируйтесь и выдайте все абсолютно условия и сразу, если, конечно, есть желание получить полное решение. |
Время: 14:59. |
Время: 14:59.
© OSzone.net 2001-