Как скопировать файл и запустить скрипт на основе текущей даты? - PullRequest
4 голосов
/ 22 октября 2011

Каждый день после полуночи мне приходится копировать файл журнала за день до этого.

Имена журналов в формате exYYMMDD.log. Поэтому сегодня (22.10.2011) мне нужно будет скопировать файл с именем ex111021.log в какой-то каталог.

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

Edit: С помощью Шивы Чаран я это создал (польский win7 - эхо% date% печатает YYYY-MM-DD)

set /a yest_Day = %date:~8,2%-%var:~-2,1%
copy ex%date:~2,2%%date:~5,2%%yest_Day%.log targetDir

Ответы [ 3 ]

4 голосов
/ 22 октября 2011

Реализуйте этот способ в Пакетном файле.

Синтаксис команды копирования:

copy sourcefilepath destinationfilepath

Пример:

На сегодняшнюю дату:

copy ex%date:~12,10%%date:~4,2%%date:~7,2%.log D:\

Для вчерашней даты:

set /a yest_Day = %date:~7,2%-%var:~-2,1%
copy ex%date:~12,10%%date:~4,2%%yest_Day%.log D:\

Вы должны указать правильный путь к файлу перед именем файла ex111022.log / ex111021.log и адресата.

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

4 голосов
/ 22 октября 2011

В PowerShell:

$YesterdayfileName = [string]::format("{0:yyMMdd}", ((Get-Date).adddays(-1)))+".log
# today 22/20/2011 gives 111021.log

Copy-Item $YesterdayfileName c:\temp
0 голосов
/ 22 октября 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...