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

Syna 10-12-2012 11:59 2042307

Копирование файлов по дате создания
 
Здравствуйте, помогите пожалуйста с батником. Нужно следующие:
Батником про сканировать директорию и скопировать по маске файлы (*.xml и *.txt) и дате создания, именно по созданию не по изменению файла.
Все что я сделал, это про сканировал директорию и вывел дату создания, а как ее привязать к файлам не знаю.
Вот скрипт:

@echo off
SetLocal EnableExtensions
setlocal enableDelayedExpansion

FOR /r "D:\Din" %%f IN (*.*) do (
set nm=%%f
@for /f %%i in ('dir "!nm!" /O:D /A:-D /tc ^| findstr "^[0-9]*\."') do set g=%%i

echo %%f [!g!]

)

Заранее, спасибо.

sov44 10-12-2012 20:54 2042703

Syna, так?
Код:

@Echo Off
set papka=D:\Din

For /F "delims=" %%a In ('dir /b/s/a-d "%papka%"') Do Echo %%~nxa - %%~ta
pause
exit /b


gora 10-12-2012 22:15 2042739

Код:

@Echo Off
SetLocal EnableDelayedExpansion
set folder=e:\Temp 1
For /F "delims=" %%a In ('dir /A:-D /T:C /O:D "%folder%" ^| Findstr /E /c:".txt" /c:".xml"') Do (
        Set ta=%%a
        Set name=!ta:~36!
        Set dat=!ta:~0,10!
        Echo !dat!        !name!
)
Pause
Exit


Syna 11-12-2012 07:55 2042868

Спасибо, "gora", то что нужно, если не трудно, можешь еще в этот скрипт дописать следующие:
нужно копировать эти файлы только, если они меньше даты создания файла.
Например: файл создан 12.12.2012 его копировать не надо, если файл создан 06.12.2012 его надо уже копировать, т.е. интервал -5 дней.
Еще раз, огромное спасибо.

gora 11-12-2012 10:57 2042942

Код:

@Echo Off
SetLocal EnableDelayedExpansion
Set folder=e:\Temp
Set old=5

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%
::Call :formatMM_DD
Echo Now        %DD% %MM% %YYYY%
Call :GetOldDate %old%
Echo Old        %DD% %MM% %YYYY%

For /F "delims=" %%a In ('dir /A:-D /T:C /O:D "%folder%" ^| Findstr /E /c:".txt" /c:".xml"') Do (
        Set ta=%%a
        Set name=!ta:~36!& Set dat=!ta:~6,4!!ta:~3,2!!ta:~0,2!
        If %YYYY%%MM%%DD% GTR !dat! (Echo Copy        !dat!        %folder%\!name!) Else Echo Not copy !dat!        %folder%\!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


Syna 11-12-2012 12:40 2043015

Спасибо, огромное, gora. Выручил. Респект тебе. :clapping:

Syna 12-12-2012 07:12 2043639

Сегодня только толком просмотрел батник, прошу прощения за тупой вопрос. Скажи, пожалуйста, какую переменную брать для копирования старых файлов? Спасибо.

gora 12-12-2012 08:17 2043655

Напишите в этой строке путь для копирования (Вы его не указали в первом сообщении):
Код:

        If %YYYY%%MM%%DD% GTR !dat! (Copy "%folder%\!name!" "Path for old files")

Syna 12-12-2012 09:22 2043681

.
Цитата:

Цитата gora
Напишите в этой строке путь для копирования (Вы его не указали в первом сообщении):
Код:
If %YYYY%%MM%%DD% GTR !dat! (Copy "%folder%\!name!" "Path for old files") »

Выдает такую ошибку:
Now 12 12 2012
Old 07 12 2012
Непредвиденное появление: /12)*12

If %YYYY%%MM%%DD% GTR !dat! (Copy "%folder%\!name!" "%folder1%")

gora 12-12-2012 11:09 2043733

Цитата:

Цитата Syna
Выдает такую ошибку:
Now 12 12 2012
Old 07 12 2012
Непредвиденное появление: /12)*12 »

1 Укажите полное название Вашей ОС и ее разрядность.
2 Попробуйте еще раз скопировать скрипт из поста 5 и не меняйте в нем ни чего кроме строки
Код:

Set folder=e:\Temp
в которой укажите путь к Вашей папке.
3 Приведите здесь путь к этой папке.
4 Покажите вывод скрипта здесь в тегах code
5 Если скрипт продолжает выдавать ошибку, то повторите пп 2-4 для скрипта из поста 3.
6 Приведите значение переменной "%folder1%"
7 Проверьте Ваши пути и имена обрабатываемых файлов на отсутствие спец. символов в них.

Syna 12-12-2012 11:32 2043749

Отображается все как надо, а вот кода меня строку выдает ошибку (Непредвиденное появление: /12)*12 »).

1. Windows 7 Pro x32
2.
Now 12 12 2012
Old 07 12 2012
Not copy 20121212 D:\11\iperf.exe
Not copy 20121212 D:\11\log.txt
Для продолжения нажмите любую клавишу....

3.Откуда - Set folder=D:\11
куда- Set folder1=D:\22

КОД:
@Echo Off
SetLocal EnableDelayedExpansion
Set folder=D:\11
Set folder1=D:\22
Set old=5

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%
::Call :formatMM_DD
Echo Now %DD% %MM% %YYYY%
Call :GetOldDate %old%
Echo Old %DD% %MM% %YYYY%

For /F "delims=" %%a In ('dir /s /A:-D /T:C /O:D "%folder%" ^| Findstr /E /c:".txt" /c:".exe"') Do (
Set ta=%%a
Set name=!ta:~36!& Set dat=!ta:~6,4!!ta:~3,2!!ta:~0,2!
If %YYYY%%MM%%DD% GTR !dat! (Copy %folder%\!name! %folder1%)

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

gora 12-12-2012 12:00 2043772

Цитата:

Цитата Syna
For /F "delims=" %%a In ('dir /s /A:-D /T:C /O:D "%folder%" ^| Findstr /E /c:".txt" /c:".exe"') Do ( »

Вы добавили рекурсию и ни чего об этом не сказали. В первом посте про нее тоже нет ни слова. С этим ключом вывод Dir меняется и парсер вывода может неправильно работать, если одна из вложенных папок будет кончаться на .txt или на .exe
Удалите этот ключ или избавляйтесь от таких папок при обработке, первое предпочтительнее.

Syna 12-12-2012 12:42 2043799

а как сделать чтобы он искал в под папках тоже?

gora 12-12-2012 13:29 2043841

Syna, встречный вопрос: что Вы собираетесь делать, если в подпапках встретятся одноименные файлы? Копировать их с перезаписью или опять будет новая вводная? :dont-know

Код:

@Echo Off
SetLocal EnableDelayedExpansion
Set folder=e:\Temp\3 3
Set folder1=e:\Temp\222
Set old=5

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!
        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


Syna 12-12-2012 13:37 2043855

Копировать их с перезаписью.

Все, вроде работает, так как надо. Спасибо, за помощь и терпение. :) :up

Syna 13-12-2012 12:08 2044509

Здравствуйте, gora. Тут возникла еще одна необходимость в этом скрипте.
например- в папке folder есть еще одна папка, назовем ее log, так вот нужно что бы при сканировании, если есть файлы с расширением, которые у нас указанны в скрипте выше - не копировались. т.е. простым языком не проверялась папка log вообще.
Если есть возможность, помоги плиз.
Спасибо.

gora 13-12-2012 18:38 2044730

Код:

@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


Syna 14-12-2012 05:47 2045009

Спасибо, большое.

Syna 24-12-2012 05:03 2052153

Здравствуйте, возникла еще одна проблемка, нужно в этом коде еще добавить в исключение файлы что бы они не копировались.
Например: файл 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 »


gora 24-12-2012 09:36 2052246

Код:

@Echo Off
SetLocal EnableDelayedExpansion
Set folder=e:\Temp\3 3
Set folder1=e:\Temp\222
Set old=5
:: не обрабатывать папки log любой глубины вложения
Set exc=log
:: не обрабатывать файлы оканчивающиеся на 00001.txt (проверка последних 9 символов имени и расширения файла)
Set n=9
Set excFile=00001.txt

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!
        If /I Not "%%~nxs"=="%exc%" If /I "!sub!"=="!sub:\%exc%\=!" (
                For /F "delims=" %%a In ('dir /A:-D /T:C /O:D "!sub!" 2^>Nul ^| Findstr /I /E /c:".txt" /c:".exe"') Do (
                        Set ta=%%a
                        If Not "!ta:~0,1!"==" " If /I Not "!ta:~-%n%!"=="%excFile%" (
                                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


Syna 24-12-2012 10:10 2052262

Спасибо, дружище. :clapping: :up

Syna 09-01-2013 09:13 2062261

С новым годом, gora. Возникла проблема со скриптом, не переходит на следующий год 2013. Отсчитывает с 31,12,2012, а не с текущей даты.
Что нужно поменять?
Спасибо.

Код:
: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

gora 09-01-2013 09:57 2062296

Код:

@Echo Off
SetLocal EnableDelayedExpansion
Set folder=e:\Temp\3 3
Set folder1=e:\Temp\222
Set old=5
:: не обрабатывать папки log любой глубины вложения
Set exc=log
:: не обрабатывать файлы оканчивающиеся на 00001.txt (проверка последних 9 символов имени и расширения файла)
Set n=9
Set excFile=00001.txt

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!
        If /I Not "%%~nxs"=="%exc%" If /I "!sub!"=="!sub:\%exc%\=!" (
                For /F "delims=" %%a In ('dir /A:-D /T:C /O:D "!sub!" 2^>Nul ^| Findstr /I /E /c:".txt" /c:".exe"') Do (
                        Set ta=%%a
                        If Not "!ta:~0,1!"==" " If /I Not "!ta:~-%n%!"=="%excFile%" (
                                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 MM=1%MM%&Set DD=1%DD%
Set /A MM-=100, DD-=100
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


Syna 09-01-2013 10:03 2062300

Спасибо. :)

Syna 09-01-2013 10:54 2062325

Теперь другой глюк у него, ставлю копировать файлы старше 5 дней, он копирует только те файлы у которых дата создания в этом году, а у которых дата создания файла 2012 года, он их не копирует. Он файлы эти видит, дату определяет их, но не копирует. :(

gora 09-01-2013 11:32 2062352

Цитата:

Цитата Syna
у которых дата создания файла 2012 года, он их не копирует. »

У меня все копирует как надо.
Замените одну строку:
Код:

If %YYYY%%MM%%DD% GTR !dat! (Echo Copy        !dat!        !sub!\!name!) Else Echo Not copy !dat!        !sub!\!name!
на:
Код:

                                If %YYYY%%MM%%DD% GTR !dat! (
                                        Echo Copy        !dat!        !sub!\!name!
                                        Copy "!sub!\!name!" "%folder1%"
                                ) Else Echo Not copy !dat!        !sub!\!name!

И копирует и пишет, что скопировано!
Код:

Now    09 01 2013
Old    04 01 2013
Copy    20120327        e:\Temp\3 3\GOMPLAYERRUSETUP.EXE
Скопировано файлов:        1.
Copy    20120327        e:\Temp\3 3\DAEMONToolsPro500316-0317.exe
Скопировано файлов:        1.
Copy    20120327        e:\Temp\3 3\setup.exe
Скопировано файлов:        1.
Not copy 20130109      e:\Temp\3 3\rewrite.txt
Not copy 20130109      e:\Temp\3 3\Default.txt
Not copy 20130109      e:\Temp\3 3\EmEditor.Professional.v12.0.8.txt
Not copy 20130109      e:\Temp\3 3\DFH_Download_Manager.exe
Copy    20121212        e:\Temp\3 3\12345667.txt\4\archOS.exe
Скопировано файлов:        1.
Copy    20121224        e:\Temp\3 3\12345667.txt\4\emeditor.txt
Скопировано файлов:        1.
Copy    20121224        e:\Temp\3 3\12345667.txt\4\memetest.au2.txt
Скопировано файлов:        1.
Copy    20121224        e:\Temp\3 3\12345667.txt\4\7zip\каналы.txt
Скопировано файлов:        1.
Copy    20121224        e:\Temp\3 3\12345667.txt\4\7zip\ключ remove admin.txt
Скопировано файлов:        1.
Copy    20121224        e:\Temp\3 3\12345667.txt\4\7zip\Красная Талка.txt
Скопировано файлов:        1.
Copy    20121224        e:\Temp\3 3\12345667.txt\4\7zip\настройки Vbox.txt
Скопировано файлов:        1.
Copy    20121224        e:\Temp\3 3\222\дропбох.txt
Скопировано файлов:        1.
Copy    20121224        e:\Temp\3 3\222\контакты.txt
Скопировано файлов:        1.
Copy    20121224        e:\Temp\3 3\222\перевозка.txt
Скопировано файлов:        1.
Copy    20121224        e:\Temp\3 3\222\телефон.txt
Скопировано файлов:        1.
Copy    20120327        e:\Temp\3 3\setup\instmsia.exe
Скопировано файлов:        1.
Copy    20120327        e:\Temp\3 3\setup\instmsiw.exe
Скопировано файлов:        1.
Для продолжения нажмите любую клавишу . . .


Syna 09-01-2013 11:50 2062362

Все, нашел косяк. Спасибо.

Михаил_Басалаев@fb 23-05-2013 14:02 2154723

Доброго времени суток! Есть скрипт который перемещает файлы с одной папки в другую и там уже сортирует их по дате создания Подскажите, что можно сделать с этим скриптом, чтобы он делал все тоже самое, только создавал папку на день раньше чем исходный файл для перемещения? т.е. отслеживал дату создания файла и помещал его в папку с датой раньше на один день.

move "c:\Other\*.*" "c:\Other2\"
@Echo OFF&Chcp 866>Nul
Set $SCR="c:\Other2\*.*"
for %%a in (%$SCR%) do ( for /f "tokens=1-3 delims=/-:., " %%c in ( "%%~ta" ) do MD "%%~dpa%%e_%%d_%%c" 2>Nul&Move "%%a" "%%~dpa%%e_%%d_%%c")


Время: 11:14.

Время: 11:14.
© OSzone.net 2001-