Ejemplo n.º 1
0
 protected override void BeginProcessing()
 {
     if (string.IsNullOrEmpty(SettingPath))
     {
         SettingPath = File.Exists(Item.CURRENT_DIR_SETTING) ? Item.CURRENT_DIR_SETTING : Item.PROGRAMDATA_SETTING;
     }
     _setting = DataSerializer.Deserialize <EnumRunSetting>(SettingPath);
 }
Ejemplo n.º 2
0
        protected override void ProcessRecord()
        {
            //  ClearもしくはEnumRunSettingがnullの場合、デフォルト設定で再作成
            if (_setting == null || Clear)
            {
                _setting = new EnumRunSetting();
                _setting.SetDefaultParameter();
            }

            //  スクリプトファイルの保存先
            if (!string.IsNullOrEmpty(FilesPath))
            {
                _setting.FilesPath = FilesPath;
            }

            //  ログ出力先
            if (!string.IsNullOrEmpty(LogsPath))
            {
                _setting.LogsPath = LogsPath;
            }

            //  コンソール出力内容のリダイレクト先
            if (!string.IsNullOrEmpty(OutputPath))
            {
                _setting.OutputPath = OutputPath;
            }

            //  デバッグモード
            if (DebugMode != null)
            {
                _setting.DebugMode = (bool)DebugMode;
            }

            //  1回だけ実行
            if (RunOnce != null)
            {
                _setting.RunOnce = (bool)RunOnce;
            }

            //  Range設定
            if (Ranges != null && Ranges.Length > 0)
            {
                _setting.Ranges = new List <Range>(Ranges);
            }

            //  Languages設定
            if (Languages != null && Languages.Length > 0)
            {
                _setting.Languages = new List <Language>(Languages);
            }

            DataSerializer.Serialize <EnumRunSetting>(_setting, SettingPath);

            WriteObject(_setting, true);
        }
Ejemplo n.º 3
0
 protected override void BeginProcessing()
 {
     //  設定ファイルの場所を探す優先度
     //  1. アセンブリと同じ場所の setting.json
     //  2. C:\ProgramData\EnumRun の setting.json
     if (string.IsNullOrEmpty(SettingPath))
     {
         SettingPath = File.Exists(Item.CURRENT_DIR_SETTING) ? Item.CURRENT_DIR_SETTING : Item.PROGRAMDATA_SETTING;
     }
     _setting = DataSerializer.Deserialize <EnumRunSetting>(SettingPath);
 }
Ejemplo n.º 4
0
        protected override void ProcessRecord()
        {
            //  ClearもしくはEnumRunSettingがnullの場合、デフォルト設定で再作成
            if (_setting == null || Clear)
            {
                _setting = new EnumRunSetting();
                _setting.SetDefaultParameter();
            }

            if (Range == null && !string.IsNullOrEmpty(Name))
            {
                Range[] ranges = _setting.GetRange(Name);
                if (ranges != null && ranges.Length > 0)
                {
                    foreach (Range range in ranges)
                    {
                        range.StartNumber = StartNumber;
                        range.EndNumber   = EndNumber;
                    }
                }
                else
                {
                    //  存在しない場合は何もしない
                    return;
                }
            }
            else if (Range != null)
            {
                //  パイプラインで渡されたRangeと名前が一致している場合に上書き
                foreach (Range range in Range)
                {
                    int index = _setting.Ranges.FindIndex(x => x.Name.Equals(range.Name, StringComparison.OrdinalIgnoreCase));
                    if (index >= 0)
                    {
                        _setting.Ranges[index] = range;
                    }
                    else
                    {
                        //  存在しない場合は何もしない
                        return;
                    }
                }
            }
            DataSerializer.Serialize <EnumRunSetting>(_setting, SettingPath);

            WriteObject(_setting.Ranges, true);
        }
Ejemplo n.º 5
0
        protected override void BeginProcessing()
        {
            if (string.IsNullOrEmpty(SettingPath))
            {
                SettingPath = File.Exists(Item.CURRENT_DIR_SETTING) ? Item.CURRENT_DIR_SETTING : Item.PROGRAMDATA_SETTING;
            }
            _setting = DataSerializer.Deserialize <EnumRunSetting>(SettingPath);

            _startTime = DateTime.Now;

            //  ログ出力設定のセット
            Item.Logger = Function.SetLogger(_setting.LogsPath, ProcessName, _setting.DebugMode);
            if (_setting.DebugMode)
            {
                Item.Logger.Debug(Function.GetCmdletName(this.GetType().Name));
            }
        }
Ejemplo n.º 6
0
        protected override void ProcessRecord()
        {
            //  ClearもしくはEnumRunSettingがnullの場合、デフォルト設定で再作成
            if (_setting == null || Clear)
            {
                _setting = new EnumRunSetting();
                _setting.SetDefaultParameter();
            }

            if (Language == null && !string.IsNullOrEmpty(Name))
            {
                Language[] langs = _setting.GetLanguage(Name);
                if (langs != null && langs.Length > 0)
                {
                    foreach (Language lang in langs)
                    {
                        if (Extensions != null)
                        {
                            lang.Extensions = Extensions;
                        }
                        if (Command != null)
                        {
                            lang.Command = Command;
                        }
                        if (Command_x86 != null)
                        {
                            lang.Command_x86 = Command_x86;
                        }
                        if (ArgsPrefix != null)
                        {
                            lang.ArgsPrefix = ArgsPrefix;
                        }
                        if (ArgsMidWithoutArgs != null)
                        {
                            lang.ArgsMidWithoutArgs = ArgsMidWithoutArgs;
                        }
                        if (ArgsMidWithArgs != null)
                        {
                            lang.ArgsMidWithArgs = ArgsMidWithArgs;
                        }
                        if (ArgsSuffix != null)
                        {
                            lang.ArgsSuffix = ArgsSuffix;
                        }
                    }
                }
                else
                {
                    //  存在しない場合は何もしない
                    return;
                }
            }
            else if (Language != null)
            {
                //  パイプラインで渡されたLanguageと名前が一致している場合に上書き
                foreach (Language lang in Language)
                {
                    int index = _setting.Languages.FindIndex(x => x.Name.Equals(lang.Name, StringComparison.OrdinalIgnoreCase));
                    if (index >= 0)
                    {
                        _setting.Languages[index] = lang;
                    }
                    else
                    {
                        //  存在しない場合は何もしない
                        return;
                    }
                }
            }
            DataSerializer.Serialize <EnumRunSetting>(_setting, SettingPath);

            WriteObject(_setting.Languages, true);
        }