CMD/BAT - Перемещение файлов из нескольких папок в одну.

Ответить
Аватара пользователя
BatizhevNH

CMD/BAT - Перемещение файлов из нескольких папок в одну.

Сообщение BatizhevNH »

Помогите пожалуйста написать батник который должен из папки c:\temp c подпапками забирать все файлы с расширением .XML и перемещать из в папку c:\temp_1.



Прощу еще дать ссылку на какой-нибудь самоучитель по батникам
Аватара пользователя
megaloman

Re: CMD/BAT - Перемещение файлов из нескольких папок в одну.

Сообщение megaloman »

Если при перемещении надо сохранить структуру подпапок, то

Код:

Код: Выделить всё

@Echo Off
FOR /F "usebackq delims=" %%f IN (`xcopy /s /y "D:\Temp\*.xml" "D:\Temp1\"`) DO Del "%%f" >nul 1>nul 2>nul

или

Код:

Код: Выделить всё

@Echo off 
cls
SetLocal EnableExtensions
SetLocal EnableDelayedExpansion
Cd /d D:\Temp 
Move /y *.xml D:\Temp1\
FOR /F "usebackq delims=" %%D IN (`Dir /S /B /A:D`) DO (
    Set NDir=%%D
    If Exist "!NDir!\*.xml" md !NDir:D:\Temp=D:\Temp1! & Move "!NDir!\*.xml" "!NDir:D:\Temp=D:\Temp1!\
)

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

Код:

Код: Выделить всё

@Echo Off
cls
Set From=D:\Temp
Set To=D:\Temp1
FOR /R %From% %%f IN (*.xml) DO Move /Y "%%f" "%To%\"
Аватара пользователя
BatizhevNH

Re: CMD/BAT - Перемещение файлов из нескольких папок в одну.

Сообщение BatizhevNH »

Цитата megaloman:



@Echo Off cls Set From=D:\Temp Set To=D:\Temp1 FOR /R %From% %%f IN (*.xml) DO Move /Y "%%f" "%To%\"
CMD/BAT - Перемещение файлов из нескольких папок в одну.




это то что нужно. Спасибо.

А как заключить все это в цикл 1 раз в 10 минут?
Аватара пользователя
megaloman

Re: CMD/BAT - Перемещение файлов из нескольких папок в одну.

Сообщение megaloman »

Любой язык - Полезные ресурсы по скриптовым языкам администрирования


Здесь описаны способы организовать паузу в бат-файле
Один из вариантов

Код:

Код: Выделить всё

:Begin
Echo Вместо этого - то, что у Вас в цикле
ping -n 601 127.0.0.1 > nul
GoTo :Begin

Но я бы организовал выполнение батника в назначенных заданиях с нужным интервалом повторения
Аватара пользователя
Наталья1991

Re: CMD/BAT - Перемещение файлов из нескольких папок в одну.

Сообщение Наталья1991 »

ПОМОГИТЕ!!!Изображение

1.Написать командный файл,принимающий при запуске след.параметры: имя папки, расширение файлов. Командный файл должен разобрать содержимое папки так:все файлы с заданным расширением переместить в папки,имя которых будет содержать дату и расширение,а файлы с другими расширениями в папку others. Все действия командного файла должны быть записаны в файл log.txt(кол-во перемещенных файлов и т.д.) Вот всё,на что смогла сделать:

echo off

echo OC

set Bloknot=%date:~-10%.txt

MD %Bloknot%

set Excel=%date:~-10%.xlsx

MD %Excel%

set Word=%date:~-10%.docx

MD %Word%

set Others=%date:~-10%.others

MD %Others%

move *.txt %date:~-10%.txt

move *.xlsx %date:~-10%.xlsx



2. Написать командный файл, который формирует первый и выводит суммарное количество скопируемых и перемещенных файлов каждого типа



буду ооооочень признательна,если поможете!!!Изображение

move *.docx %date:~-10%.docx
Ответить

Вернуться в «Скриптовые языки администрирования Windows»