![]() |
Разложить файлы из кучи по каталогам согласно образцу
Помогите, пожалуйста, решить следующую задачу: нужно из общей свалки файлов разложить их по каталогам, согласно образцу.
Поясню на примере: 1. Есть каталог-образец. Он содержит следующие файлы D:/страны_образец/Европа/Германия.txt2. Есть исходный каталог, с которым надо работать. Он содержит следующие файлы: D:/страны_разрбрать/Германия.txt3. Нужно получить 3-ий каталог со следующей структурой (берем файл и переносим его в каталожную структуру согласно образцу): D:/страны_разобраны/Европа/Германия.txtВажное замечание: В каталоге Страны_Разобрать не могуть быть файлы, отсутствующие в каталоге страны_образец. |
Код:
@echo off |
Цитата:
Попробовал этот скрипт. Создал описанную мной структуру, создал батник, в который вставил приложенный код. Запускаю. Окно cmd открывается и сразу закрывается. Каталог страны_разобраны пуст. Я что-то делаю неправильно? Как мониторить работу скрипта? Можно ли вставить отладочные сообщения, которые требуют нажатия, например, пробела? |
Цитата:
Я, со своей стороны, прежде чем писать скрипт, всегда его проверяю - у меня отработал без проблем. Цитата:
Поставить pause после строчек, которые вызывают подозрения на некорректность работы. PS. Кстати, сейчас заметил, у Вас слэш в другую сторону смотрит. Вы так и пишете? Код:
D:/страны_образец/Европа/ |
Вложений: 1
Слэши смотрят в правильную сторону, я скопипастил Ваш код, поменяв только логический диск в адресе.
Поставил паузу в конце выполнения скрипта и снял скриншот окна cmd. Судя по нему, происходит некорректная работа с русскими символами. Как это решить? |
Maartimus, пакетные файлы надо сохранять в кодировке 866 любым поддерживающим это редактором.
|
Вложений: 3
Цитата:
Скрипт отрабатывает, файлы, судя по всему находит, но не перемещает. Как выловить проблему? Прикладываю скриншот скрипта, total commander и результат работы cmd |
Maartimus, а почему у вас tokens=10 стоит? Когда, судя по скриншоту ТС, нужно 3 - как у меня в скрипте и написано.
|
Не хотелось усложнять скрипт, но придется. Теперь Вам не надо ничего править, кроме (если нужно) путей, по которым находятся Ваши папки.
Код:
@echo off |
Цитата:
В реальной задаче каталогов больше. Увеличил, чтобы потом не забыть. Это ведь влияет на глубину просмотра, но не на логику, так что из-за этого дополнительных проблем быть не должно. |
Цитата:
|
Цитата:
Правильная поговорка есть "работает -- не трогай", но я её не послушал. :) Зато теперь есть вторая редакция скрипта. Сейчас протестирую. Отпишу о результатах. Все работает как нужно. Спасибо! |
Ещё вопрос.
А как сохранить структуру вложенности каталогов? Например. Каталог-образец: D:\страны_образец\eвропа\россия\московская_область\балашиха.txtИсходный каталог: D:\страны_разрбрать\балашиха.txtПоследний вариант скрипта возвращает: D:\страны_образец\московская_область\балашиха.txtТо есть отсутствует часть каталога, выделенного жирным в каталоге-образце. Подскажите изменения, для сохранения полного пути? |
Может кто-нибудь помочь с кодом?
|
Необходимо разложить файлы по 10 штук в папку. Папки создавать по потребности. Скрипт написал, но почему-то количество файлов в папках не равняется 10. Подскажите, где ошибка?
Код:
@echo off |
Код:
@echo off |
kiripanda, всё равно в папках не по 10 файлов.
|
у меня по 10
|
kiripanda, разобрался, были скрытые файлы :)
|
Время: 17:41. |
Время: 17:41.
© OSzone.net 2001-