Цитата |
---|
Андрей Василюк написал: [...] Пример: "Уважаемые коллеги, необходимо сдать отчеты за ***."
Где *** название предыдущего месяца, т.е. текущий месяц минус 1 месяц назад. |
Невозможно вставить название предыдущего месяца в текст сообщения с помощью макроса The Bat!, но вы сделаете это с помощью функций Windows. В Windows 7 и более поздних версиях есть программа «Windows PowerShell», позволяющая запускать различные типы скриптов, в том числе скрипты с функцией даты.
Я проверил, как это сделать, и предлагаю следующее рабочее решение:
1. В текстовый файл заносится название предыдущего месяца. Пусть этот файл будет называться «
prevmonth.txt» и он будет храниться в директории на жестком диске, т.е. обращаться к нему можно будет так: «
<путь_к_файлу>\prevmonth.txt». Содержимое файла обновляется один раз в месяц, в первый день месяца - для этого используется Планировщик The Bat!.
2. Скрипт PowerShell, который записывает название предыдущего месяца в файл «
prevmonth.txt», выглядит следующим образом:
Код |
---|
$PreviousMonth = (Get-Date).AddMonths(-1).ToString('MMMM')
$PreviousMonth > <путь_к_файлу>\prevmonth.txt |
Пусть этот скрипт называется «
PrevMonth.ps1», вы можете создать его, например, с помощью Блокнота Windows. Поместите его в тот же каталог на жестком диске, что и файл предыдущего месяца, т. е. «
<путь_к_файлу>\PrevMonth.ps1».
3. Следующим шагом будет создание в The Bat! задачи, которая запустит скрипт PowerShell. Задача активируется в первый день месяца, например, в 00:10. Первый запуск The Bat! в данном месяце обновит содержимое файла «
prevmonth.txt». Единственным действием для этой задачи является «
Запуск программы». Командная строка для этой операции выглядит следующим образом:
Код |
---|
C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "& '<путь_к_файлу>\PrevMonth.ps1'" |
Кроме того, вы можете включить опцию минимизирования окна и запускать программу как отдельный процесс.
4. Вставку названия предыдущего месяца в любом месте создаваемого сообщения следует предусмотреть в его шаблоне, используя для этого макрос %Put("
<путь_к_файлу>\prevmonth.txt"), т.е. так:
Код |
---|
Уважаемые коллеги, необходимо сдать отчеты за %Put("<путь_к_файлу>\prevmonth.txt"). |
Разумеется, что вместо полужирного текста «
<путь_к_файлу>» надо вставить фактический путь к файлу.