Компьютерный форум 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=159072)

SANIOK_AV 03-12-2009 17:58 1286044

Копирование самого позднего по дате создания каталога.
 
Докрого времени суток!
Ситуация такая:
Есть к примеру каталог C:\1\
В нём есть несколько подкаталогов...
Нужно из каталога C:\1\ скопировать в каталог C:\2\ подкаталог, который самый свежий по дате создания...
Подскажите пожалуйста как это можно реализовать?
Заранее благодарен!!!

NiOl 03-12-2009 18:54 1286088

Код:

@Echo off
SetLocal EnableExtensions

Set Src=C:\TEMP\1\
Set Dst=C:\TEMP\2\
if not %Src:~-1%==\ set Src=%Src%\

PushD %Src%
for /f "delims=" %%D in ('DIR *.* /B /AD /OD') do set D=%%D
PopD

PushD %Dst%
md %D%
cd %D%
rem Ключи  /C /G /K могут быть лишними. (см XCopy /?)
xcopy %Src%%D% /E /H /R /Y /C /G /K
if ErrorLevel 1 Echo Не удалось скопировать %Src%%D% в %Dst% !!!
PopD


SANIOK_AV 04-12-2009 17:29 1286840

NiOl, Спасибо огромное!
Работает!
И ещё просьба:
Обьясните пожалуйста как работает в данном случае for
Вот на другом форуме мне тоже превели пример по этому поводу:
Код:

for /f %%i in ('dir "c:\1\" /o:-d /t:c /b') do xcopy /e /f /i /y "c:\1\%%i" "c:\2\%%i"
и не смотря на то что в Вашем примере в dir ключик "/OD" (то есть сортировка в обратном порядке) и тот и тот вариант работает...


Время: 16:09.

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