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

Доктор Ливси 08-11-2010 10:14 1537435

Копирование новых файлов
 
Приветствую всех!
Такая у меня задача:есть енное количество rar-архивов с разными датами (формат стандартный, как у переменной date). Хочу организовать процедуру скачки файлов с сервера, начиная с указанной даты. Делал так:
Set mmdd=%~1
If "%~1"=="" set /p mmdd=Введите дату, с которой начинать скачку (MMDD) (там файлы все формата %ььвв%*.rar, поэтому тут все ок (проверено по отдельности)
For %%a in (*.rar) do If /имхо, вот тут должна быть дата последнего из скачанных aфайлов архивов (уже реальная, а не %mmdd%)/ LEQ %date% (..)
Спасибо всем, кто понял, о чём я так туманно выразился. Прошу помощиЁ

amel27 08-11-2010 12:37 1537517

Цитата:

Цитата Доктор Ливси
формат стандартный, как у переменной date »

формат MMDD отличен от стандартного DD.MM.YYYY

Цитата:

Цитата Доктор Ливси
там файлы все формата %ььвв%*.rar »

Код:

@echo off
SetLocal EnableDelayedExpansion

set mmdd=%~1

:test_loop
call:test_proc||(
  echo Ошибка в формате даты^^!
  set/p mmdd="Введите дату, с которой начинать скачку (MMDD): "
  goto test_loop
)
for %%a in (*.rar) do (
  set _mmdd=%%~na
  if "%mmdd%" leq "!_mmdd:~0,4!" (
    echo тут команда копирования файла "%%a"
  )
)
exit

:test_proc
 if "%mmdd%"=="" exit/b 1
 if "%mmdd:~,-3%"=="" exit/b 1
 if not "%mmdd:~,-4%"=="" exit/b 1
exit/b 0

P.S. маска *.rar не подходит для сетевых шар - текущий каталог поддерживается только для спланированных сетевых дисков, иначе нужно задавать маску с указанием полного сетевого пути


Время: 13:17.

Время: 13:17.
© OSzone.net 2001-