Вопрос Как оптимизировать скрипт для работы из под консоли?

zettend

Старожил
Здравствуйте!
Есть в общем у меня на сервере Windows. Пробиваться из под графической оболочки - грузить ядро, мне это не надо.
Требуется распаковывать мои репаки со стороны сервера.
Как заставить работать скрипт из под консоли?

Допустим есть команда:
setup.exe -v ru -t ru -ico yes -i /Games/{AppName}

-v - Язык звуков
-t - Язык текста
-ico - Создавать ли иконки
Если yes, то создавать. no - не создавать.
-i - Путь установки

Сложен ли путь такой реализации? И существуют ли примеры?
 

sergey3695

Ветеран
Модератор
Incorrect, какой-то пример. CheckParam - проверяет параметры ком. строки.
снандартные, по линку:
http://www.jrsoftware.org/ishelp/index.php?topic=setupcmdline
Код:
#define MyAppName "Programmer's Notepad"
#define MyAppName2 "Programmer''s Notepad"
#define P "Portable"
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={code:GetInstallDir|{pf}\{#MyAppName}}
Uninstallable=not PortableCheck

[Files]
Source: "app\*"; DestDir: "{app}"; Flags: ignoreversion createallsubdirs recursesubdirs; Check: InstallerCheck;
Source: "appP\*"; DestDir: "{app}"; Flags: ignoreversion createallsubdirs recursesubdirs; Check: PortableCheck;

[Code]
var
  Portable,Installer: TNewRadioButton;

function CheckParam(s: string): boolean;
var
i: integer;
begin
  for i := 0 to ParamCount do begin
    Result := ParamStr(i) = s;
    if Result then Break;
  end;
end;

function GetInstallDir(S: String): String;
begin
  if ((CheckParam('/p')) or (Assigned(Portable) and Portable.Checked)) then
    Result:= ExpandConstant('{userdesktop}\{#MyAppName2} {#P}')
  else
    Result:= ExpandConstant(S);
end;

function PortableCheck: Boolean;
begin
  Result := Portable.Checked or CheckParam('/p');
end;

function InstallerCheck: Boolean;
begin
  Result := Installer.Checked or CheckParam('/i');
end;

procedure InitializeWizard();
begin
  Portable := TNewRadioButton.Create(WizardForm);
  with Portable do
  begin
    Parent := WizardForm.WelcomePage;
    Left := ScaleX(320);
    Top := ScaleY(295);
    Width := ScaleX(100);
    Height := ScaleY(17);
    Caption := 'Портативная';
    Checked :=CheckParam('/P');
  end;

  Installer := TNewRadioButton.Create(WizardForm);
  with Installer do
  begin
    Parent := WizardForm.WelcomePage;
    Left := ScaleX(210);
    Top := ScaleY(295);
    Width := ScaleX(100);
    Height := ScaleY(17);
    Caption := 'Стационарная';
    Checked := not CheckParam('/P');
  end;
end;
 
Сверху