все что связано с моей работой
Главная » Hacks » Рассылка лицензий поселениям

Рассылка лицензий поселениям

На самом деле пока самой рассылки нет, средствами cmd это реализовать нельзя :(.
Входные данные: есть 11 поселений, 1 лицензия и 11 активаций.
Задача: сформировать архивы для отправки поселений, содержащие лицензию (одна на всех) и файл активации (каждому свой).

Решение:

Скрипт создает на каждое поселение свою папку, потом копирует в каждую папку файл с лицензией, переносит(!!!) одну активацию, архивирует и чистит за собой.

Из-за того что активации переносятся, то из папки они удаляются!!! Рекомендуется делать копии.

Использование:

  • в папку копируем лицензию, активации и скрипт
  • В начале скрипта пишем свои поселения
  • Запускаем
  • При выполнении на экран выводятся название поселения и имя файла активации для него
  • после выполнения в папке будет несколько архивов(по числу поселений)

Архивы надо разослать руками, к сожалению. Вариант на PowerShell умеет и рассылать, но будет позже.

Код:

[code lang=»shell»]
@echo off
SetLocal EnableDelayedExpansion
mkdir "Большелогское"
mkdir "ВерхнеПодпольненское"
mkdir "гАксай"
mkdir "Грушевское"
mkdir "Истоминское"
mkdir "Ленинское"
mkdir "Мишкинское"
mkdir "Ольгинское"
mkdir "Рассветовское"
mkdir "Старочеркасское"
mkdir "Щепкинское"

set z="C:\Program Files\7-Zip\7z.exe"
for /d %%B in (*) do (
echo %%B
copy Lice*.xml %%B\ 1>nul
rem for /F %%i in (‘dir /b Ans*.xml’) do set !FN!=%%~nxi
for %%i in (Ans*.xml) do set FN=%%i
echo !FN!
move !FN! %%B\ 1>nul
echo ————————————————-
%z% a %%B.zip %%B 1>nul
rd /Q /S %%B 1>nul
)
[/code]

Засады:

SetLocal EnableDelayedExpansion — нужна чтоб внутри цикла можно было использовать !FN!, иначе после выхода из вложенного цикла переменная FN — пустая!!!
Закомментированная строка с циклом — взять первое по алфавиту имя файла и выйти из цикла.

Комментариев нет

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.