Bat переместить файлы по списку

Обновлено: 04.07.2024

Ну, в общем, неплохо, что хоть что-то попыталась сделать..
Вообще-то, мне не все понятно с заданием. Например - какая дата имеется в виду: текущая или дата файла? Судя по тому, что ты сделала, я решил, что текущая.

Короче, вот тебе батник. Не знаю, насколько он тебя удовлетворит, я в нем даже сделал корректную обработку лога (чтоб он не перемещался вместе с остальными файлами), а также подсказку.

Назови файл, скажем sort_ext.bat

Хочу тебя предупредить: будь осторожна!! Он работает с реальными файлами!! При неосторожном употреблении последствия могут быть крайне нежелательными!!

Давай, enjoy, успехов тебе ))

P.S.
Я совсем не понял, что требуется в пункте 2. Может, пояснишь? Кстати, очень порадовало причастие "скопируемых" ))).

Последний раз редактировалось TinMan; 15.05.2012 в 08:56 .

хоть кто-то откликнулся на мою просьбу! ))
может я чего-то не понимаю. скажи,если я создаю этот батник на диске D в отдельной папке,в которой есть документы с различными расширениями,то он будет работать именно с этими файлами?и лог файл будет создаваться там же?

по поводу 2 пункта-это слово в слово задание преподавателя ))) я сама его не особо понимаю. В особенности "..файл,который формирует первый" =)) Но по идее,наверное,этот батник должен выводить количество перемещенных файлов из 1 задания. (хотя какой смысл,если в 1 задании всё записывается в лог файл). Ну моё дело принести,что от меня просят

моего развития видимо не хватает ))) Но у меня твой батник не работаетЗапускается,ошибок не выдаёт,но ни лога,ни папки не создается.Наверное,я что-то не так делаю

созданный (c) TinMan батник требует указания параметров в командной строке.

т.е. батник нужно запускать из командной строки ,
указывая после имени батника нужный каталог и нужное расширение
(если полное имя каталога содержит пробелы, то его имя должно в командной строке заключаться в двойные кавычки).

созданный (c) TinMan батник требует указания параметров в командной строке.

т.е. батник нужно запускать из командной строки ,
указывая после имени батника нужный каталог и нужное расширение
(если полное имя каталога содержит пробелы, то его имя должно в командной строке заключаться в двойные кавычки).

спасибо большое!)а что насчет лог файла?он по-прежнему не создается еще одна проблема. папку он создаёт с датой и заданным расширением,всё нормально.Но в неё он не перемещает эти файлы. Зато в папку other благополучно переместил все файлы, кроме файлов с расширением doc и txt (при указании параметров просила переместить файлы txt)

ну, извини.. не Брэд Питт.. всего лишь "хоть кто-то" я..

Наташ, я полагал, что ты умеешь работать с bat-файлами (хотя бы, как запустить). Тем более, что в задании явно сказано про параметры! Громадное спасибо Сержу за объяснения (надеюсь, ты уже поставила ему +1), но все же я советую тебе почитать где-то что-то на эту тему.

Что касается твоих вопросов - пожалуйста, пиши точно:
1. из какого фолдера запускался батник;
2. точную форму командной строки (включая параметры);
3. выдачу команды dir в обрабатываемом фолдере;
4. выдачу команды dir /s в обрабатываемом фолдере после запуска

Пожалуйста, пойми, все это очень важно и поможет разобраться, что не так.
И я добавлю еще один пункт явно, раз уж ты сама не понимаешь.
5. я не буду вообще отвечать совсем, если ты так и не удосужишься сказать спасибо за то, что я уже тебе сделал.
Успехов тебе.

ну, извини.. не Брэд Питт.. всего лишь "хоть кто-то" я..

Наташ, я полагал, что ты умеешь работать с bat-файлами (хотя бы, как запустить). Тем более, что в задании явно сказано про параметры! Громадное спасибо Сержу за объяснения (надеюсь, ты уже поставила ему +1), но все же я советую тебе почитать где-то что-то на эту тему.

Что касается твоих вопросов - пожалуйста, пиши точно:
1. из какого фолдера запускался батник;
2. точную форму командной строки (включая параметры);
3. выдачу команды dir в обрабатываемом фолдере;
4. выдачу команды dir /s в обрабатываемом фолдере после запуска

Пожалуйста, пойми, все это очень важно и поможет разобраться, что не так.
И я добавлю еще один пункт явно, раз уж ты сама не понимаешь.
5. я не буду вообще отвечать совсем, если ты так и не удосужишься сказать спасибо за то, что я уже тебе сделал.
Успехов тебе.

Для определённых целей может потребоваться составить список файлов, содержащихся в папке. Если таковых немного, то задачу можно выполнить вручную без особых затруднений, но если в папке десятки, сотни или даже тысячи файлов, то пытаться составить их список вручную это бесполезная трата времени. Можно ли этот процесс как-то автоматизировать?

Как сделать список файлов в папке

Автоматическое создание списка файлов

К счастью, функционал Windows и других программных решений, позволяет создавать списки файлов в папках в автоматическом порядке. Данные списки можно потом будет без проблем скопировать в текстовый файл и редактировать по мере необходимости.

Рассмотрим все имеющиеся способы создания такого списка.

Вариант 1: «Командная строка»

Этот способ является стандартным и не требует от пользователя каких-либо особых умений, за исключением базового владения «Командной строкой». Итак, инструкция к данному варианту выглядит следующим образом:

  1. Перейдите в ту папку, список файлов из которой вы хотели бы получить.
  2. Теперь зажмите Shift на клавиатуре и нажмите правой кнопкой мыши по пустому месту в окне «Проводника».
  3. Должно появится контекстное меню, где требуется выбрать вариант «Запуск командной строки» или «Открыть окно команд здесь». В случае с последними версиями Windows 10 такого пункта может не быть. Вместо этого нужно нажать на «Запустить окно PowerShell здесь». PowerShell – это новый аналог «Командной строки», который Майкрософт активно внедряет в последние версии Windows 10. По сути отличий в функционале нет никаких.

Открытие командной строки через контекстное меню

  • dir /b>spisok.txt Данная команда сохраняет только имена файлов в файл spisok.txt. Вы можете вместо него указать любое другое название, какое вам будет удобно, но учтите, что оно не должно содержать кириллических символов;
  • dir /s>spisok.txt Сохраняет не только имена файлов, содержащихся в папке, но и имена папок и подпапок, которые могут быть расположена в основной папке.

Ввод команды на создание списка файлов из командной строки

Всю информацию из него можно скопировать в документ Word, так как последний удобнее редактировать. К тому же, если в папке содержались файлы или другие папки в названии которых присутствовали кириллические символы, то в «Блокноте» таковые могут отображаться некорректно, так как нужные кодировки не поддерживаются.

Вариант 2: Использование BAT-файла

Данный способ тоже не отличается какой-либо сложностью, плюс даёт почувствовать себя немного программистом. Суть заключается в создании специального файла с алгоритмом, который выведет список всех элементов в папке в отдельный текстовый файл. Итак, рассмотрим инструкцию к этому варианту более подробно:

    Создайте в любом месте на компьютере текстовый файл. Для этого нажмите правой кнопкой мыши и в меню выберите пункт «Создать». Из открывшегося подменю выберите вариант «Текстовый файл».

Создание текстового документа

echo %date% %time% >spisok.txt

Написание алгоритма для BAT-файла

Сохранение текстового документа как

Сохранение текстового файла как BAT-файла

Содержимое данного файла также можно перенести в текстовый документ MS Word. Однако в этом случае проблем с кодировкой и неверным отображением кириллических символов не наблюдается.

Вариант 3: DirLister

Данное бесплатное ПО не требуется установки на компьютер и с его помощью вы можете создать список всех элементов в той или иной папке. Инструкция по её использованию выглядит следующим образом:

  1. Перейдите на официальный сайт разработчика и скачайте архив с программой.
  2. Распакуйте архив, вытащив от туда исполняемый EXE-файл.
  3. Запустите его.

Работа с DirLister

Вариант 4: Total Commander

Total Commander – это популярный файловый менеджер, где пользователь может быстро получить и скопировать всю основную информацию о файлах, а также о содержимом папок. В данном случае получить список файлов, находящихся в папке, можно следующим образом:

  1. В окне Total Commander откройте нужную папку.
  2. В верхнем меню нажмите на пункт «Выделение». Появится контекстное меню, где нужно нажать на вариант «Выделить всё».
  3. Затем в этом же меню выберите пункт «Копировать имена файлов в буфер обмена».

Окно Total-Commander

Вариант 5: Браузер

Во всех современных браузерах, будь то Opera, Google Chrome, Yandex и т.д., есть функция просмотра содержимого папок и некоторых файлов, расположенных на компьютере.

Инструкция к этому варианту выглядит следующим образом:

  1. Откройте «Проводник». Выберите при помощи щелчка левой кнопкой мыши ту папку, которую хотите просмотреть в браузере.
  2. Перетащите эту папку в любой удобный для вас браузер. В данном случае рассматривается вариант с Opera.

Открытие списка файлов через браузер

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


В очень редких случаях в Windows может быть встроена одна или две функции автоматизации.

Если вам нужно переместить файлы из одной папки в другую через определенное количество дней, лучше всего использовать bat скрипт.

Скрипт для перемещения файлов

Откройте новый файл «Блокнот» и вставьте в него следующее.

Сохраните его с расширением .BAT.

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


Первое, что вам нужно изменить, это значение X во второй строке.

X представляет возраст файла.

По умолчанию установлено значение 30, но вы можете изменить его на любое другое.

Если вы хотите, чтобы файлы были старше 15 дней, измените 30 на 15.

Далее вам нужно изменить путь, указанный в третьей строке.

Замените его на путь к папке.

Убедитесь, что путь и «source =» включаются в закрытые кавычки.

Наконец, замените путь в четвертой строке на полный путь к папке, в которую вы хотите переместить файлы.

Опять же, убедитесь, что все закрыто в кавычках.

Это все, что нужно. Запустите скрипт, и он переместит файлы.

Планирование скрипта

Вы можете вручную запустить скрипт, когда вам это нужно.

Откройте планировщик задач и нажмите «Создать задачу».

Задайте имя задаче и перейдите на вкладку триггеров.

Затем перейдите на вкладку действий и нажмите кнопку «Создать».

Нажмите Ok, и задача завершена.

Включите его, и он автоматически переместит файлы по заданному вами графику.


Robocopy

Этот скрипт использует Robocopy для перемещения файлов.

Этот скрипт будет работать в любой системе Windows, на которой установлен Robocopy, но в некоторых случаях вам, возможно, придется установить ее самостоятельно.

Вопрос от пользователя

Здравствуйте.

Помогите с одним вопросом. У меня есть несколько внешних дисков и на них записаны фильмы. Я хочу получить список всех названий (имен) этих файлов в тексте, чтобы его распечатать и положить рядом в коробочку с диском (скажем, навести порядок!).

Это серьезно бы облегчило поиск и подключение нужного диска.

ускорение ПК

Способы получить список имен файлов

Вариант 1 (с помощью Total Commander)

Запустив Total Commander, перейдите в нужный каталог (в тот, где у вас хранятся фильмы, например) и выделите все файлы (для этого достаточно нажать Ctrl+A).

Выделяем все файлы в нужном каталоге

Выделяем все файлы в нужном каталоге

Далее в меню "Выделение" выберите опцию "Сохранить выделение в файл. " (в некоторых версиях программы есть возможность скопировать имена файлов в буфер — если сделаете так, то потом откройте документ Word и вставьте список, нажав Ctrl+V ).

Сохранить выделение в файл (Total Commander)

Сохранить выделение в файл (Total Commander)

Текстовый файл можно открывать - список готов!

Текстовый файл можно открывать - список готов!

Вариант 2 (через браузер)

После откройте проводник и перейдите в папку с нужными вам файлами — нужно будет скопировать путь до нее, нажать сочетание Ctrl+C (адрес, вида: "C:\Users\alex\Videos\Фильмы" )

Открываем каталог

После, вставить этот скопированный "путь" в адресную строку браузера и нажать Enter. В результате вы увидите, что обозреватель покажет вам список всех файлов и дату последнего изменения.

Открываем путь в Chrome

Открываем путь в Chrome

Вставляем список в Excel для дальнейшей работы.

Вставляем список в Excel для дальнейшей работы.

Вариант 3 (список со вложенными файлами и папками)

Этот способ универсальный, и к тому же позволяет получить не только список файлов из текущего каталога, но и из всех вложенных.

Например, есть у вас в каталоге "Видео" отдельная папка "Кино 90-х" , в которой 2 десятка др. фильмов — вышеперечисленные способы бы не позволили узнать их название (из полученного списка), а этот позволит!

В ней нужно последовательно ввести две команды, после каждой нажать Enter:

  1. cd C:\Users\alex\Videos\Фильмы (вместо "C:\Users\alex\Videos\Фильмы" укажите свой каталог) ;
  2. dir /b /s | sort > List.txt (эта команда создаст файл "List.txt" в выбранной вами папке со всеми файлами и каталогами, что в нем есть! Кроме этого, она отсортирует список от А к Я).

CMD - открываем каталог, получаем список

CMD - открываем каталог, получаем список

Файл-список готов!

Как убрать путь (C:\Video\) из списка

Кстати, если в списке файлов вам среди названия фильмов (файлов) не нужен их путь — то его легко убрать. Для этого в Notepad++ достаточно:

  • нажать на Ctrl+F ;
  • в окне "Замена" в строку "найти" указать путь (который повторяется в каждой строке);
  • в строке "Заменить на" проверить, чтобы была пустота;
  • и нажать кнопку "заменить все" . В результате: в вашем списке будут только имена (без пути)!

Убираем путь до каталога в блокноте

Убираем путь до каталога в блокноте

Вариант 4 (без доп. софта)

Этот способ работает не во всех версиях ОС Windows (в 10-ке все OK). Зато он быстрый и не требует вообще никакого доп. софта.

  1. зайти в нужный каталог;
  2. выделить файлы (Ctrl+A);
  3. зажать клавишу Shift (левую);
  4. нажать ПКМ (правую кнопку мыши), не отпуская Shift;
  5. из появившегося меню проводника выбрать опцию "Копировать как путь" . Теперь в буфере обмена есть все имена файлов из каталога!

Выделяем и копируем путь

Выделяем и копируем путь

Теперь можно открыть блокнот или тот же Word и вставить список (Ctrl+V).

Вставляем скопированный список

Вставляем скопированный список

Если вам мешает в каждой строке путь ("C:\Users\") - то как его убрать см. чуть выше.

Читайте также: