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); }
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); }
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); }
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); }
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)); } }
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); }