0 / 0 / 0
Регистрация: 16.02.2016
Сообщений: 7
1

Скопировать один файл во все папки

16.02.2016, 06:59. Показов 20204. Ответов 30
Метки нет (Все метки)

Добрый День!)
Может кто сталкивался с таким вопросом: Как скопировать к примеру фаил 111.txt в 100 папок сразу. Чтобы в батнике не прописывать copy 111.txt и по порядку все папки. А что бы сразу во все он вставил.
Заранее спасибо тем кто откликнется.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2016, 06:59
Ответы с готовыми решениями:

Скопировать один файл в папки
Привет Нужно решить такую проблему. Есть папка, в ней примерно 50 папок, в каждом из них по 2...

Скопировать файл в папки, отмеченные в CheckedListBox
Подскажите нубасу где ошибка. Dim sendfile As New IO.FileInfo(ListBox2.SelectedItem) ...

Не получается скопировать файл из папки в папку
Пытаюсь скопировать файл из домена на домен, вот так но не выходит <?php $file =...

Скопировать файл из одной папки в другую
Как скопировать 1 (нужный мне) рисунок из одной папки в другую?, если адрес рисунка храниться в...

30
4205 / 2083 / 653
Регистрация: 26.04.2015
Сообщений: 6,720
17.02.2016, 04:37 2
Если хочешь 100 раз сходить в гости надо знать все 100 адресов и 100 раз и сходить.
Windows Batch file
1
for %%a in ("papka1","papka2",...,"papka100") do copy "C:\file.txt" "%%~a"
2
20 / 18 / 4
Регистрация: 15.01.2015
Сообщений: 200
17.02.2016, 11:11 3
можно и так
Windows Batch file
1
for /d %%g in (D:\1\*) do call copy D:\file_name.txt %%g
т.е. файл скопируется во все подкаталоги каталога D:\1
1
3446 / 1984 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
17.02.2016, 12:27 4
yagami2, а "call"-то зачем? Чтобы из имён папок исчезли все возможные символы процента вместе с частями имён, окруженными ими, и папки не были бы найдены?

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

А что ещё хуже, имена (или части имён), начинающиеся и заканчивающиеся символами процента, будут интерпретироваться как значения соответствующих переменных среды, в т. ч. системных.

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

Поэтому вызов команды с использованием команды "CALL" нужно использовать только в тех редких случаях, когда это действительно необходимо, то есть когда требуется именно раскрытие переменных, в т. ч. и так называемое "двойное раскрытие". Хотя аналогичные последствия и в этих случаях нельзя исключать.
1
20 / 18 / 4
Регистрация: 15.01.2015
Сообщений: 200
17.02.2016, 17:29 5
ок, "call" не нужен. Копировал строку из старого батника...
0
0 / 0 / 0
Регистрация: 27.10.2017
Сообщений: 3
27.10.2017, 18:57 6
Всем привет!

Прошу помощи, использовал батник на основе поста выше.
Windows Batch file
1
for /d %%g in (D:\1\*) do copy D:\file_name.txt %%g
Все хорошо, НО мне нужно копировать файл ГЛУБЖЕ!
Минимум на 3 уровня.

Как изменить команду?

Добавлено через 11 минут
Задача скопировать 1 файл в...
D:\1\содержит разные папки.

D:\1\папка1\папка1\сюда копировать. (если есть глубже, копировать туда)
D:\1\папка1\папка2\сюда копировать. (если есть глубже, копировать туда)

D:\1\папка2\папка1\сюда копировать. (если есть глубже, копировать туда)
D:\1\папка3\папка1\сюда копировать. (если есть глубже, копировать туда)

и т.д.
На крайний случай, скопировать этот файл во ВСЕ подкаталоги D:\1
т.е. лучше пусть лишние копии чем куда то не попадет.
0
20 / 18 / 4
Регистрация: 15.01.2015
Сообщений: 200
27.10.2017, 19:25 7
alexerem,

Windows Batch file
1
for /R /D %%g in (*) do copy C:\test\file_name.txt "%%g"
батник должен лежать в главном каталоге
0
0 / 0 / 0
Регистрация: 27.10.2017
Сообщений: 3
27.10.2017, 19:37 8
yagami2
Спасибо! Работает!

Я так понимаю копирует с заменой если файл существует?
0
20 / 18 / 4
Регистрация: 15.01.2015
Сообщений: 200
27.10.2017, 20:01 9
по умолчанию да
но можно сделать так
Windows Batch file
1
for /R /D %%g in (*) do copy /-y C:\test\file_name.txt "%%g"
тогда будет спрашивать перед заменой

или так
Windows Batch file
1
for /R /D %%g in (*) do echo n | copy /-y C:\test\file_name.txt "%%g"
тогда не будет перезаписывать

вместо copy можно использовать xcopy или robocopy у них свои ключи

Добавлено через 5 минут
Цитата Сообщение от alexerem Посмотреть сообщение
лучше пусть лишние копии чем куда то не попадет.
теоретически можно заморочиться и сделать так чтобы файл копировался только в папки которые соответствуют маске
0
0 / 0 / 0
Регистрация: 27.10.2017
Сообщений: 3
27.10.2017, 20:06 10
yagami2 
Спасибо огромное!
Просветили!
0
4205 / 2083 / 653
Регистрация: 26.04.2015
Сообщений: 6,720
27.10.2017, 20:26 11

Не по теме:

yagami2,
странно как это работает, ключ /D под for не по "феншую"



Добавлено через 2 минуты
или если это диск, так и надо писать: for /R "D:\" %%g
0
20 / 18 / 4
Регистрация: 15.01.2015
Сообщений: 200
27.10.2017, 20:56 12
а причем тут феншуй?
FOR /D %переменная IN (набор) DO команда [параметры]
Если набор содержит подстановочные знаки, команда выполняется
для всех подходящих имен каталогов, а не имен файлов.

/D - это ключ который говорит for, что нужно работать с каталогами, а не с файлами.

последние батники работают от текущего каталога
0
4205 / 2083 / 653
Регистрация: 26.04.2015
Сообщений: 6,720
27.10.2017, 21:28 13
тогда ясно
0
59 / 70 / 11
Регистрация: 18.09.2017
Сообщений: 578
16.11.2017, 08:39 14
Подскажите, как создать .bat-ник! Имеется папка на рабочем столе ves, в этой папке лежат ярлыки на общедоступные папки с других 10 компов с одинаковым названием ves (сеть по хамачи). Имеется файл, ves.txt который временами обновляется и закидывается в эти папки, заходя в каждую. Как автоматизировать это дело, чтоб батник сразу скидывал во все эти папки(которые находятся на других ресурсах) файл?
0
20 / 18 / 4
Регистрация: 15.01.2015
Сообщений: 200
16.11.2017, 14:54 15
Насколько я знаю копировать в ярлык нельзя. Поэтому два вариатна.
Либо копировать на сетевые ресурсы напрямую тогда циклы особо не помогут.

Windows Batch file
1
2
3
4
5
set file=%userprofile%\desctop\ves\ves.txt
set folder1=\\server1\share1
set folder2=\\server2\share2
copy %file% %folder1%
copy %file% %folder2%

Либо можно попробовать создать символьные ссылки вместо ярлыков (тогда батник см выше).
Windows Batch file
1
mklink /d \\server\share %userprofile%\desctop\ves\folder_name
2
59 / 70 / 11
Регистрация: 18.09.2017
Сообщений: 578
16.11.2017, 15:23 16
yagami2, Огромное Вам спасибо!
0
12 / 15 / 2
Регистрация: 02.11.2015
Сообщений: 222
06.02.2019, 19:47 17
у меня вышеприведённые примеры не работают.

Выполняю в консоли cmd.exe, пишет «Непредвиденное появление: %%g.». Выполняемая команда:
Windows Batch file
1
for /d %%g in (D:\TMP\*) do copy D:\TMP\file.txt %%g
На диске D есть каталог TMP с вложенными папками: cat1, cat2, cat3. И файл «D:\TMP\file.txt» имеется
0
20 / 18 / 4
Регистрация: 15.01.2015
Сообщений: 200
06.02.2019, 19:51 18
Если выполняете в консоли то нужно использовать один знак процента "%g"
0
12 / 15 / 2
Регистрация: 02.11.2015
Сообщений: 222
06.02.2019, 20:02 19
Windows Batch file
1
for /d %g in (D:\TMP\*) do copy D:\TMP\file.txt %g
Спасибо, работает!
0
0 / 0 / 0
Регистрация: 16.06.2016
Сообщений: 17
22.12.2019, 22:14 20
Добрый вечер.
есть задача - копировать файл из корня диска K во все папки/подпапки (абсолютно во все, многоуровневое копирование) всех локальных дисков, исключая диск С (системный) без перезаписи уже существующего
что-то пробовал подстроить скрипты выше - не получилось... буду очень благодарен за помощь)

Добавлено через 15 минут
забыл дополнить (предыдущий пост уже не могу отредактировать)
первоначальный файл - скрытый, таким он и должен оставаться везде, куда скопируется
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2019, 22:14

Скопировать папки, в которых файл меньше N кб
Привет. Подскажите пожалуйста решение такой задачи: Есть N папок, внутри каждой из них лежит ряд...

Скопировать из матрицы в один одномерный массив все положительные элементы, а в другой – все отрицательные
Заполнить с клавиатуры двумерный массив на 20 элементов. Скопировать из него в один одномерный...

Скопировать все файлы из одной папки в другую
Нужен макрос который копирует все файлы с папки "D:\proba\zvit\" в папку "D:\proba\Temp\" Имена...

Скопировать все файлы из папки на ftp сервер
Как батником скопировать все файлы (*.*) из папки D:\001\send в папку на ftp сервере?

Как скопировать всё содержимое папки А в папку Б?
Как скопировать всё содержимое папки(с подпапками) А в папку Б? У меня такой скрипт, но он не...

Скопировать все содержимое из одной папки в другую
Объясните, рожалуйста, как скопировать все содержимое из папки /abc в папку /bcd( нужно скопировать...


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

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

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