Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Перемещение файлов из нескольких папок в одну. (http://forum.oszone.net/showthread.php?t=216135)

BatizhevNH 21-09-2011 13:47 1757356

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

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

megaloman 21-09-2011 19:38 1757575

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

@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 23-09-2011 15:31 1758805

Цитата:

Цитата megaloman
@Echo Off cls Set From=D:\Temp Set To=D:\Temp1 FOR /R %From% %%f IN (*.xml) DO Move /Y "%%f" "%To%\" »

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

megaloman 24-09-2011 17:52 1759420

Тут ссылки на источники, где можно ознакомиться с командными файлами.
Здесь описаны способы организовать паузу в бат-файле Один из вариантов
Код:

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

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

Наталья1991 14-05-2012 19:32 1915881

ПОМОГИТЕ!!!:)
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


Время: 07:09.

Время: 07:09.
© OSzone.net 2001-