Как скопировать файлы в соответствии со списком файлов с помощью пакетного скрипта?

Вопрос или проблема

У меня есть папка с множеством файлов, и у меня есть список (txt) конкретных файлов, которые я хочу скопировать из этой папки.

Это будет выглядеть примерно так:
Для каждого имени файла:
cp (имя файла в папке) в (имя файла в новой_папке)

Как я могу сделать это с помощью batch-скрипта?

Итерируемся по текстовому файлу:

for /f "delims=" %%L in (foo.txt) do

Копируем файлы:

copy "%%L" new_folder

Готово:

for /f "delims=" %%L in (foo.txt) do copy "%%L" new_folder

Вы можете сериализовать ваши файлы и попробовать cygwin с этим https://github.com/ekardian/dryncs

.

Ответ или решение

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

Инструкции по созданию пакетного скрипта для копирования файлов по списку

Шаг 1: Подготовка списка файлов

Создайте текстовый файл, например, “filelist.txt”, в котором будут указаны имена файлов, которые нужно скопировать. Каждый файл должен быть с новой строки. Например:


example1.txt
example2.doc
example3.jpg

Шаг 2: Создание пакетного файла

Откройте текстовый редактор и введите следующий код:

@echo off
set "source_folder=C:\path\to\source_folder\"
set "destination_folder=C:\path\to\destination_folder\"

for /f "delims=" %%L in (filelist.txt) do (
    copy "%source_folder%%%L" "%destination_folder%"
)
echo Файлы успешно скопированы.
pause

Объяснение кода:

  • @echo off: Отключает отображение команд в консоли для более четкого вывода.
  • set: Позволяет задать переменные для исходной и целевой папок. Замените C:\path\to\source_folder\ и C:\path\to\destination_folder\ на фактические пути.
  • for /f "delims=" %%L in (filelist.txt) do: Запускает цикл, где %%L — это переменная цикла, которая принимает значение каждой строки из файла “filelist.txt”.
  • copy "%source_folder%%%L" "%destination_folder%": Копирует файл из исходной папки в указанную целевую папку.
  • pause: Задерживает закрытие окна, позволяя вам увидеть сообщение.

Шаг 3: Сохранение и выполнение пакетного файла

Сохраните файл с расширением .bat, например, “copy_files.bat”. Затем дважды кликните по нему для выполнения скрипта. Убедитесь, что файл “filelist.txt” находится в той же папке, что и ваш пакетный скрипт, или укажите полный путь к этому файлу в скрипте.

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

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

Оцените материал
Добавить комментарий

Капча загружается...