Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/61: Рейтинг темы: голосов - 61, средняя оценка - 4.82
Sveta123
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 16
1

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

07.04.2013, 12:44. Просмотров 11885. Ответов 18
Метки нет (Все метки)

Здравствуйте! Помогите сделать лабу. Нужно сделать батник. Вот задание:

2)Создать командный файл, выполняющий копирование всех файлов, перечисленных в текстовом файле, содержащем список указанных файлов, в директорию, введенную в командной строке, как параметр командного файла. В эту же директорию копируется в том числе и сам файл-список, при этом он переименовывается в файл List.txt.

Заранее спасибо!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2013, 12:44
Ответы с готовыми решениями:

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

Копирование файлов по списку в текстовом файле в папки с именами, соответствующими расширениям этих файлов
Добрый день, уважаемые форумчане. Прошу помощи с написанием bat-файла. Значит...

Копирование заданного файла на все компьютеры в сети, IP-адреса которых находятся в списке в текстовом файле
Доброго времени суток. Требовалось создать *.bat файл, который осуществит...

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

Копирование всех файлов с заданным расширением из одной заданной папки в другую заданную папку
Создайте командный файл, который копирует все файлы с расширением, заданным в...

18
Sveta123
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 16
09.04.2013, 10:16  [ТС] 2
Спасибо огромное за первую программу!!
Ребят, помогите с этой тоже очень очень надо.
0
Eva Rosalene
Ladybug
4052 / 1591 / 303
Регистрация: 06.01.2013
Сообщений: 4,188
Завершенные тесты: 2
09.04.2013, 17:24 3
Цитата Сообщение от Sveta123 Посмотреть сообщение
Создать командный файл, выполняющий копирование всех файлов, перечисленных в текстовом файле, содержащем список указанных файлов
Формат файла в студию
0
Sveta123
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 16
09.04.2013, 18:29  [ТС] 4
Текстовый файл .txt, а файлов, которых нужно скопировать без разницы, ну пусть будут тоже .txt.
0
Dragokas
Эксперт WindowsАвтор FAQ
17053 / 7109 / 860
Регистрация: 25.12.2011
Сообщений: 10,920
Записей в блоге: 16
09.04.2013, 22:10 5
выполняющий копирование всех файлов, перечисленных в текстовом файле
а где задается название и расположение самого исходного файла-списка?
0
Sveta123
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 16
09.04.2013, 23:25  [ТС] 6
Расположение этого файла произвольное. Скажем, C:\spisok.txt
А задается в командом файле, указанием написанным выше расположением.
0
qassarb
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 4
09.04.2013, 23:57 7
Накидал по памяти, но вроде работает.
Тело скрипта:

Bash
1
2
@for /f "tokens=*" %%A in (%1) do @copy %2\%%A %3
    copy %1 %3\List.txt
Запуск:
Bash
1
>script.bat %Filename% [%outdir%] %indir%
%Filename% - имя файла со списком
%outdir% -[необязательный параметр, указывает каталог к файлам в списке ( в случае, если список содержит имена файлов без пути)
%indir% копировать сюда

Я запускал так:
Bash
1
>script.bat C:\tst.lst C:\tmp C:\tmp\tst\
0
Sveta123
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 16
11.04.2013, 09:32  [ТС] 8
У меня не получилось нормально запустить скрипт.
У меня при запуске скрипт открывается файл-список и все.
Может я не правильно что-то делаю?
0
Eva Rosalene
Ladybug
4052 / 1591 / 303
Регистрация: 06.01.2013
Сообщений: 4,188
Завершенные тесты: 2
11.04.2013, 14:19 9
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@echo off
::Первый параметр - имя файла-списка
::Второй - имя папки, куда копируется
setlocal enabledelayedexpansion
chcp 1251>nul
set list=%~1
set pathlist=%~dp1
set dir=%~2
if not exist "!list!" (endlocal&msg * "There is no listfile here"&exit /b)
if not "!dir:~-1!"=="\" (set dir=!dir!\)
if not "!dir:~1,1!"==":" (set dir=%~dp1!dir!)
if not exist "!dir!" (md "!dir:~0,-1!")
echo.[%TIME:~0,-3%] Начато
for /f "usebackq tokens=*" %%A IN ("!list!") DO (
 set copied=%%~A
 if "!copied:~1,1!"==":" (copy "%%~A" "!dir!">nul 2>nul) else (copy "%~dp1%%~A" "!dir!">nul 2>nul)
)
copy "!list!" "!dir!List.txt">nul
echo.[%TIME:~0,-3%] Завершено
echo.Нажмите любую клавишу
endlocal
pause>nul
exit /b
Пример вызова: copies.bat C:\list.txt Catalog
Небольшое пояснение: скрипт ишет все файлы с неполными путями не рядом с собой, а рядом с файлом-списком.
Тоже и с неполным путем к папке вывода
0
Sveta123
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 16
11.04.2013, 16:27  [ТС] 10
Все равно не работает...

Добавлено через 36 минут
А как в файле списке писать путь к файлам, которых нужно скопировать?
0
Eva Rosalene
Ladybug
4052 / 1591 / 303
Регистрация: 06.01.2013
Сообщений: 4,188
Завершенные тесты: 2
11.04.2013, 18:16 11
Цитата Сообщение от Sveta123 Посмотреть сообщение
А как в файле списке писать путь к файлам, которых нужно скопировать?
Полностью. С:\Файл\Файл
0
Sveta123
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 16
11.04.2013, 22:00  [ТС] 12
я также ввожу, но открывается только сам файл-список и все. Не могу понять в чем проблема
0
Dragokas
Эксперт WindowsАвтор FAQ
17053 / 7109 / 860
Регистрация: 25.12.2011
Сообщений: 10,920
Записей в блоге: 16
11.04.2013, 22:22 13
Прикрепите к посту архив со всеми файлами, в т.ч. сценарием. Посмотрим.
(расширенный режим - скрепка).
0
Sveta123
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 16
11.04.2013, 22:30  [ТС] 14
list.txt

script.txt
0
Sveta123
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 16
11.04.2013, 22:32  [ТС] 15
Файл-список и текстовый вид скрипта(есть .bat только ограничение стоит)
0
qassarb
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 4
11.04.2013, 23:13 16
Еще разок
Допустим Вы запускаете cmd.exe. По умолчанию вы в HOME каталоге. Допустим в этом каталоге лежит файл со списком файлов - tst.lst.
Параметры скрипта: tst.lst C:\tmp C:\tmp\tst\
где tst.lst - файл со списком файлов,
C:\tmp - каталог, в котором лежат эти файлы (если в фале-списке указан полный путь, тогда этот параметр опускаем)
C:\tmp\tst\ - все сюда
Я только что сам запустил - работает
0
Sveta123
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 16
11.04.2013, 23:30  [ТС] 17
А все спасибо поняла)))
Только еще одна загвоздка.
Не хочет копировать файл со списка.Пишет синтаксическая ошибка в имени файла, папки или тома
0
Belgarion
0 / 0 / 0
Регистрация: 22.08.2015
Сообщений: 10
10.09.2015, 13:23 18
А можно тоже самое но для VB сделать? Пожалуста. Условия абсолютно теже, список имен файлов лежит в list.txt задача такая же скопировать файлы по списку.
0
Dragokas
12.09.2015, 17:38     Копирование всех файлов, перечисленных в списке, содержащемся в текстовом файле, в заданную директорию
  #19

Не по теме:

Belgarion, можно. Создайте тему в соответствующем разделе по правилам.

0
12.09.2015, 17:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2015, 17:38
Привет! Вот еще темы с ответами:

Написать bat-файл, осуществляющий копирование заданного файла в заданную директорию
Помогите разобраться с задаче ребят. Создать две директории. Наполнить одну из...

Проверка наличия на диске в указанном каталоге перечисленных в списке файлов и вывод имен отсутствующих
Проверка наличия на диске в каталоге, указанном первым параметром КФ файла...

Перемещение всех файлов из подпапок в корневую директорию
Здравствуйте, немного предыстории: у человека потерялись файлы на флэшке, я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru