Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

Старожил


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

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


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

Посмотрите, сколько файлов удовлетворит Вашему условию:
Код: Выделить весь код
@echo off
setlocal EnableExtensions

for %%f in (c:\TEMP\*.*) do call :cmp %%~tf "%%f"
exit
:cmp
if %1==%date% echo %3
exit /b
у меня их оказалось более 2 десятков.

Если же у Вас только один файл и он - тот, что нужен - чтож, вынужден Вас поздравить.
Тогда попробуйте сейскрипт:
Код: Выделить весь код
@echo off
setlocal EnableExtensions

Set SrcDir=C:\TEMP
Set Server=\\MyServer\MyShare\MyDir

set dt=%Date%
for %%f in (%SrcDir%\*.*) do call :cmp %%~tf "%%f"
pause
exit
:cmp
if not %1==%dt% exit /b
set archName=%time::=-%
set archName=%date:~6,4%-%date:~3,2%-%date:~0,2%_%archName:~0,-3%.zip
set archName="%SrcDir%\%archName: =0%"
start /w "" 7za a %archName% %3
copy /b %archName% "%Server%\"
exit /b
в батнике в качестве архиватора использован "7za.exe". Если намереваетесь использовать другой архиватор - в переменной %archName% лежит имя архива, а в %3 - имя файла, совпавшего по дате, оба уже в кавычках.
Также, в переменных %SrcDir% и %Server% указываются (ВАМИ) пути к каталогу поиска и к папке на сервере.

-------
Как сказало Дерево Дровосеку: "я - пень".

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:23, 16-11-2010 | #2