bootsy
25-10-2013, 16:02
Доброе время суток!
...помогите новичку
пытаюсь написать батник который раз в неделю (например только по средам) копирует все *.dbx файлы из папки почтовика в другую в момент выхода пользователя из системы и завершения работы. Написал следующий скрипт:
@echo off
rem ####резервное копирование почтовой базы
rem #### определяю переменную для дня недели
SET runday=3
echo %runday%
rem #### получаю значение дня недели и вытаскиваю из него вторую строчку с номером дня и записываю итог в переменную wd
FOR /F "SKIP=1" %%i IN ('wmic path win32_LocalTime get DayOfWeek') DO SET wd=%%i
echo %wd%
rem #### сравниваю значения в переменных и в случае равенства файлы копируются
IF /i %wd%==%runday% goto mark1 ELSE goto mark2
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
:mark1
rem #### создаю при необходимости папку и копирую туда файлы
IF NOT EXIST %BackupDRV%\%BackupDir% md %BackupDRV%\%BackupDir%
xcopy %OEDBPath%\*.dbx %BackupDRV%\%BackupDir% /D /F /Y
:mark2
В итоге скрипт выполняет копирование при запуске в любой день (т.е. при любом значении %runday%). Он полностью игнорирует мои попытки использовать оператор IF при сравнении двух переменных %wd% и %runday%. Братцы! что я делаю неправильно? где ошибка ткните носом... плиз
заранее благодарен
...помогите новичку
пытаюсь написать батник который раз в неделю (например только по средам) копирует все *.dbx файлы из папки почтовика в другую в момент выхода пользователя из системы и завершения работы. Написал следующий скрипт:
@echo off
rem ####резервное копирование почтовой базы
rem #### определяю переменную для дня недели
SET runday=3
echo %runday%
rem #### получаю значение дня недели и вытаскиваю из него вторую строчку с номером дня и записываю итог в переменную wd
FOR /F "SKIP=1" %%i IN ('wmic path win32_LocalTime get DayOfWeek') DO SET wd=%%i
echo %wd%
rem #### сравниваю значения в переменных и в случае равенства файлы копируются
IF /i %wd%==%runday% goto mark1 ELSE goto mark2
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
:mark1
rem #### создаю при необходимости папку и копирую туда файлы
IF NOT EXIST %BackupDRV%\%BackupDir% md %BackupDRV%\%BackupDir%
xcopy %OEDBPath%\*.dbx %BackupDRV%\%BackupDir% /D /F /Y
:mark2
В итоге скрипт выполняет копирование при запуске в любой день (т.е. при любом значении %runday%). Он полностью игнорирует мои попытки использовать оператор IF при сравнении двух переменных %wd% и %runday%. Братцы! что я делаю неправильно? где ошибка ткните носом... плиз
заранее благодарен