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

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

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


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

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


Ребят! заработало ).. как комбинация всех ваших предложений.
Спасибо каждому отозвавшемуся!
Код получился такой:
Код: Выделить весь код
@echo off
rem ####резервное копирование почтовой базы
rem #### определяю переменную для дня недели
SET /A runday=3
SET OEDBpath="C:\Documents and Settings\User\Local Settings\Application Data\Identities\{3E343025-4670-4E7C-A679-E634FB42B2AA}\Microsoft\Outlook Express"
SET BackupDRV=w:
SET BackupDir=OutlookBackup
echo day of week to run:%runday%

rem #### получаю значение дня недели и вытаскиваю из него вторую строчку с номером дня и записываю итог в переменную wd
FOR /F "SKIP=1" %%i IN ('wmic path win32_LocalTime get DayOfWeek') DO SET /A wd=%%i
echo current day:%wd%

rem #### сравниваю значения в переменных  и в случае равенства файлы копируются
IF /I %wd%==%runday% goto mark1
IF /I %wd% NEQ %runday% goto mark2
:mark1
rem #### создаю при необходимости папку и копирую туда файлы
IF NOT EXIST %BackupDRV%\%BackupDir%  md %BackupDRV%\%BackupDir%
xcopy %OEDBPath%\*.dbx %BackupDRV%\%BackupDir% /D /F /Y
:mark2
возможно чуток не элегантно (топорно) с оператором IF ... но все же ))))
Пришлось, как написал Iska, использовать ключик /A в SET т.к. необходимо было указать что в переменной сидит число , а не текст... иначе просто сравнение "NEQ" и"==" не работало.

ЗЫ Хочется сделать скрипт универсальным... для каждого пользователя. Т.к. папка типа - \{3E343025-4670-4E7C-A679-E634FB42B2AA}\ у каждого своя. Попробую поломать голову над тем как сделать так чтобы скрипт в зависимости от %username% получал и имя этой папки и подставлял в скрипт...

Отправлено: 22:01, 28-10-2013 | #5