2014-11-06 2 views
0

Рассмотрение решения здесь не может показаться, что он точно находит, что ищет или не может увидеть, как я изменяю существующие сценарии. У меня есть файловый сервер Windows. У меня есть документы, хранящиеся в структуре каталогов, Год, Месяц, Неделя 01/02 и т. Д. Имена файлов, например, в формате 0053910001.1.D799D. Первая часть - это идентификатор клиента, возможно, много файлов с тем же идентификатором, что и 0053910001.2.D444D, 0053910001.3.D584D и т. Д. Мне нужен сценарий файла bat, который пройдет через каталог и создаст отдельный каталог с именем в качестве идентификатора клиента 0053910001 и затем скопируйте все файлы с этим идентификатором в этот каталог.Batch Создание папок на основе имени первой части файла, перемещение файлов в эту папку

Спасибо.

Пол,

ответ

0

мне нужно больше информации ... структура каталогов, как "2014, 11, 01 \ 0053910001.1.D799D" или что-то вроде "2014 \ 11 \ 01 \ 0053910001.1.D799D" ?

означает «D799D» расширение?

Идентификатор клиента всегда содержит 10 цифр/букв?

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

где должна быть создана целевая папка?

Сердечные приветы


Edit:

Сохранить в файл (например, "Cleanup.cmd") направляют в накопитель Н:

@ECHO OFF 
    IF NOT EXIST "Clients" MD "Clients" 
    FOR /F "TOKENS=1* DELIMS=." %%A IN ('DIR 2014\* /s /b /a:-d') DO (
    IF NOT EXIST "Clients\%%~nA" MD "Clients\%%~nA" 
    MOVE "%%~A.%%~B" "Clients\%%~nA" 
) 

Описание:

FOR/F "TOKENS = 1 * DELIMS =." %% A IN ('DIR 2014 */s/б/у: -d') DO (

поиск всех файлов в каталоге "2014" и все подкаталоги

IF NOT СУЩЕСТВУЕТ «%% ~ нА» MD «%% ~ нА»

будет создать папку на основе имени файла (без расширения), так что папка будет, например, «053920001» в корневой директории H:

MOVE "%% ~ A %% ~ B "" %% ~ dA \ %% ~ nA "

Переместить файлы в созданном выше каталоге.


для тестирования вы можете заменить «move» на «copy», чтобы все исходные файлы оставались в их местоположении.

отредактирован, чтобы соответствовать необходимости размещения файлов и папок в подкаталоге «клиентов»

+0

структура каталогов будет как –

+0

структура каталогов будет как час: \ 2014 \ Март \ Week01 \, в зависимости от того, сколько недель в месяц Week01, Week02 и т. Д. В каждом каталоге недели находятся отдельные файлы 0053910001.1.D799D, некоторые из них будут иметь один и тот же идентификатор клиента. Мне нужно сортировать файлы в отдельные папки, называемые идентификаторами клиента. Таким образом, все файлы, которые начинаются 0053910001, будут помещены в папку 0053910001. –

+0

И на каком пути вы хотите создать целевую папку? – BaBa

Смежные вопросы