1. Вы уверены, что в папке со временным мусором, коего за день может быть не одна сотня файлов, вы можете выловить нужный файл, только потому, что дата его создания равна сегодняшней дате?
Посмотрите, сколько файлов удовлетворит Вашему условию:
Код:
![Выделить весь код](images/misc/selectcode.png)
@echo off
setlocal EnableExtensions
for %%f in (c:\TEMP\*.*) do call :cmp %%~tf "%%f"
exit
:cmp
if %1==%date% echo %3
exit /b
у меня их оказалось более 2 десятков.
Если же у Вас только один файл и он - тот, что нужен - чтож, вынужден Вас поздравить.
Тогда попробуйте сейскрипт:
Код:
![Выделить весь код](images/misc/selectcode.png)
@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% указываются (
ВАМИ) пути к каталогу поиска и к папке на сервере.