Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2009, 15:15   #1
mephist
Форумчанин
 
Регистрация: 01.05.2009
Сообщений: 200
По умолчанию Житейская задачка о простом копировании

Реальная задачка:
Нужно копировать огромное количество файлов из одних папок в другие, причем структура дерева исходных папок и конечных разная.
Расположение и имена всех папок заранее известны и не меняются.
Я написал .bat примерно такой:
xcopy "D:\папка 1" "D:\папка 2" /s/e
Все было бы хорошо, но ему не нравятся русские имена папок.
Можно как-нить это обойти??? Я пытался их переименовывать, но он опять заругался на русские имена (ren "D:\папка 1" "1").
Может мне вообще как-нить по-другому подойти к решению вопроса???
P.S. Русские названия папок нужно сохранить. Если это невозможно напишите об этом,пожалуйста. Я не буду голову ломать.
mephist вне форума Ответить с цитированием
Старый 01.05.2009, 15:52   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Код:
xcopy "D:\папка 1" "D:\папка 2" /s/e
Набиралось, скорее всего, в Блокноте? Но кодировка там Win-1251, а нужна DOS. Можно или набрать в Блокноте, выбрав шрифт Terminal, или в другом редакторе (например, через FAR).
Arigato вне форума Ответить с цитированием
Старый 01.05.2009, 15:53   #3
Nomlpppp
Пользователь
 
Регистрация: 26.02.2009
Сообщений: 51
По умолчанию

Цитата:
Все было бы хорошо, но ему не нравятся русские имена папок.
Такого быть не должно, надо всего лишь - чтоб файл(.bat) был в кодировке cp866, если используешь русские имена. Ну или может OS не русифицирована ,тогда вообще неврзможно испрользовать русские имена папок.
Nomlpppp вне форума Ответить с цитированием
Старый 01.05.2009, 17:17   #4
mephist
Форумчанин
 
Регистрация: 01.05.2009
Сообщений: 200
По умолчанию

Просто гуру!!!
Спасибо большое за помощь Arigato и Nomlpppp!!!
А можно для самообразования узнать как перейти к кодировке cp866???
mephist вне форума Ответить с цитированием
Старый 01.05.2009, 18:00   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Цитата:
А можно для самообразования узнать как перейти к кодировке cp866???
Использовать редактор из FAR (или др. менеджера) или же консольный редактор edit.
Arigato вне форума Ответить с цитированием
Старый 01.05.2009, 18:12   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Есть и другое решение. Можно сохранять батник в кодировке 1251 (т.е. набирать, скажем, в Блокноте), а в начале батника произвести выбор кодировки:
Код:
mode con codepage select=1251>nul
Arigato вне форума Ответить с цитированием
Старый 01.05.2009, 18:20   #7
mephist
Форумчанин
 
Регистрация: 01.05.2009
Сообщений: 200
По умолчанию

спасибо большущее!!! просветил ламера!!!
mephist вне форума Ответить с цитированием
Старый 16.05.2009, 02:39   #8
mephist
Форумчанин
 
Регистрация: 01.05.2009
Сообщений: 200
По умолчанию

Еще раз спасибо! В развитие данной темы возник еще один вопрос!
Теперь количество файлов возросло до такой степени, что батничек работает минут сорок. Причем количество новых файлов не так велико, в основном копируются уже имеющиеся в конечных папках файлы.
Можно подредактировать код так, чтобы копировались только новые и измененые файлы???
У xcopy есть такой запрос: заменить файл (при совпадении имен) другим Yes? No? All? но эта функция не подходит, ибо во первых некоторые файлы обновились, а некоторые нет(т.е. иногда нужно заменять,а иногда нет), а если заменять все, то батничек работает все сорок минут. А во вторых я использовал код :
mode con codepage select=1251>nul
и теперь( я так понимаю из-за него) все русские названия выдаются в cmd в виде псевдографики, поэтому сложно понять что на что он собирается копировать.
mephist вне форума Ответить с цитированием
Старый 16.05.2009, 04:30   #9
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

В WordPad есть кодировка DOS. Но проще в FAR, конечно. WordPad — это если под рукой только Windows.


Если у XCOPY нет такой опции, то искать rsync какой–нибудь.
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Старый 16.05.2009, 04:58   #10
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Возьми AkelPad, открой свой батник в нем. Сохранить как... в кодировке 866.
Вложения
Тип файла: rar akel.rar (185.2 Кб, 7 просмотров)
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему ошибка при копировании? valerij Microsoft Office Excel 8 02.05.2009 01:49
Вопрос о копировании ячеек с данными gege Microsoft Office Excel 4 11.11.2008 09:29
Ошибка при копировании столбца в Excel! antonchik Microsoft Office Excel 1 29.07.2008 07:48
как разбить таблицу при копировании StasSv Microsoft Office Excel 3 11.02.2008 10:23
пробема кодировки при копировании текса через буф.обмена выдает иероглифы! Linx Общие вопросы Delphi 3 29.05.2007 23:12