Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] как скопировать файлы 1,2,3 в папки x,y,z соответственно

Ответить
Настройки темы
CMD/BAT - [решено] как скопировать файлы 1,2,3 в папки x,y,z соответственно

Старожил


Сообщения: 267
Благодарности: 8

Профиль | Отправить PM | Цитировать


имеются файлы 0001, 0002, 0003 ..... 0300
и папки x1 x2 x3 ...x300

как скопировать:
0001 в x1
0002 в x2
0300 в x300

(названия у файлов именно 0001, 0002, 0003 а у папок названия все разные. нужно первый файл в первую по счету папку, второй файл во вторую по счету и т.д.)

Отправлено: 22:40, 20-05-2010

 

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


так как способ подачи списков не оговорен, пусть они будут в файлах files.txt и dirs.txt:
Код: Выделить весь код
@Echo Off

Set $F=files.txt
Set $D=dirs.txt

For /F "Tokens=1* Delims=[]" %%i In ('^<"%$F%" Find /V /N ""') Do (
For /F "Tokens=1* Delims=[]" %%a In ('^<"%$D%" Find /V /N ""') Do (
If "%%i"=="%%a" Echo COPY "%%~j" "%%~b"))
P.S. предполагается, что батник в каталоге с файлами, т.к. не оговорено иное
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:50, 21-05-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Старожил


Сообщения: 267
Благодарности: 8

Профиль | Отправить PM | Цитировать


хм... батник пишет что скопировал но не копирует. папки пустые.


вот список части папок


нужно скинуть
1.txt в 1 Обучающий видеокурс по Microsoft Office 2003
2.txt в 2 Обучающий видеокурс по Microsoft Office 2007
и т.д.

файлы txt находятся в той же папке, что и сами папки (как на тестовом примере на первой картинке)

Последний раз редактировалось shadowbat, 21-05-2010 в 10:11.


Отправлено: 09:37, 21-05-2010 | #3


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата shadowbat:
батник пишет что скопировал но не копирует »
уберите "Echo", осталось от проверки
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:53, 21-05-2010 | #4


Старожил


Сообщения: 267
Благодарности: 8

Профиль | Отправить PM | Цитировать


Цитата amel27:
уберите "Echo", осталось от проверки »
работает!

в папки с двумя и более словами в названии копирует
в папки с цифрами копирует
в папки с англ.буквами копирует

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

Отправлено: 12:55, 21-05-2010 | #5


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


shadowbat, списки папок/файлов должны быть в родной для CMD DOS-кодировке (866)
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:00, 21-05-2010 | #6


Старожил


Сообщения: 267
Благодарности: 8

Профиль | Отправить PM | Цитировать


amel27, я бы не понял это сообщение но пока я ждал ответ полез в гугл и нашел эту ветку на нашем форуме
http://forum.oszone.net/thread-169373.html

решение: В начале добавляем chcp 1251, в конце chcp 866
либо
решение: редактировать .bat в редакторе типа bred.


теперь все заработало!!
amel27, благодарю!

ИТОГОВОЕ РЕШЕНИЕ:
Код: Выделить весь код
chcp 1251
@Echo Off

Set $F=files.txt
Set $D=dirs.txt

For /F "Tokens=1* Delims=[]" %%i In ('^<"%$F%" Find /V /N ""') Do (
For /F "Tokens=1* Delims=[]" %%a In ('^<"%$D%" Find /V /N ""') Do (
If "%%i"=="%%a" COPY "%%~j" "%%~b"))
chcp 866
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:07, 21-05-2010 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] как скопировать файлы 1,2,3 в папки x,y,z соответственно

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - файлы вида mmdd*.* - для каждой даты нужно создать каталог, скопировать, файлы milito Скриптовые языки администрирования Windows 2 24-05-2009 23:32
не могу скопировать файлы с диска whiter Хочу все знать 14 26-07-2008 21:13
Как восстановить из консоли восстановления файлы системной папки Kriloff Microsoft Windows 2000/XP 11 29-11-2006 20:14
[решено] Как удалить файлы с папки...? Cobra_1_Stas Автоматическая установка Windows 2000/XP/2003 40 10-10-2006 10:11
Как переписать текстовые файлы в разные папки! Guest Программирование и базы данных 7 22-10-2004 02:57




 
Переход