Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте, возникла еще одна проблемка, нужно в этом коде еще добавить в исключение файлы что бы они не копировались.
Например: файл qwe00001.txt, в файле меняются только первые три буквы, т.е. не нужно копировать файлы по маске "*00001.txt"
Спасибо.

Цитата gora:
Код:
@Echo Off
SetLocal EnableDelayedExpansion
Set folder=e:\Temp 1\222
Set folder1=e:\Temp 1\2
Set old=5
Set exc=log
For /F "Tokens=1 Delims=." %%i In ('WMIC OS Get LocalDateTime^|Find "."') Do Set tim=%%i
Set YYYY=%tim:~0,4%&Set MM=%tim:~4,2%&Set DD=%tim:~6,2%
Echo Now %DD% %MM% %YYYY%
Call :GetOldDate %old%
Echo Old %DD% %MM% %YYYY%
For /R "%folder%" %%s In (.) Do (
Set ts=%%s
Set sub=!ts:~0,-2!
rem Echo == %%~nxs == !sub! ==
If Not "%%~nxs"=="%exc%" If "!sub!"=="!sub:\%exc%\=!" (
For /F "delims=" %%a In ('dir /A:-D /T:C /O:D "!sub!" 2^>Nul ^| Findstr /E /c:".txt" /c:".exe"') Do (
Set ta=%%a
If Not "!ta:~0,1!"==" " (
Set name=!ta:~36!& Set dat=!ta:~6,4!!ta:~3,2!!ta:~0,2!
If %YYYY%%MM%%DD% GTR !dat! (Echo Copy !dat! !sub!\!name!) Else Echo Not copy !dat! !sub!\!name!
)
)
)
)
Pause
Exit
:GetOldDate
Set /A DD-=%1
If %DD% GTR 0 GoTo formatMM_DD
Set /A MM=MM+11-((MM+10)/12)*12
If %MM%==12 Set /A YYYY-=1
For /F "Tokens=%MM%" %%i In ("31 28 31 30 31 30 31 31 30 31 30 31") Do Set X=%%i
If %MM%==2 (
Set /A B1=YYYY%%4, B2=YYYY%%100, B3=YYYY%%400
If !B1!==0 If Not !B2!==0 Set /A X+=1
If !B3!==0 Set /A X+=1
)
Set /A DD=DD+X-((DD+X-1)/X)*X
:formatMM_DD
Set MM=0%MM%&Set DD=0%DD%
Set MM=%MM:~-2%&Set DD=%DD:~-2%
GoTo :EOF
-------
Мои аддоны | Dropbox »

Отправлено: 05:03, 24-12-2012 | #19