/// <summary> /// コマンド終了イベントを実行する /// </summary> /// <param name="sender">イベント呼び出し元オブジェクト</param> /// <param name="e">イベント引数</param> /// <exception cref="NotImplementedException"></exception> private void Command_ExecuteFinished(object sender, EventArgs e) { //タイマの停止 _timer.Stop(); //ファイルパス _resultFilePath = _command.RecordPath; //キャンセ要求時 if (_command.CancelRequest) { ExecuteCanceled?.Invoke(this, new EventArgs()); } else { ExecuteFinished?.Invoke(this, new EventArgs()); } //コマンドの破棄 _command?.Dispose(); Close(); }
/// <summary> /// サイレントモードを実行する /// </summary> /// <param name="param">パラメータ</param> /// <returns></returns> static void RunSilent(string[] param) { RenameLogger.ConsoleMode = true; NativeMethods.AttachConsole(uint.MaxValue); var args = param; //コマンドライン不正時の処理 if (!IsValidCommandLine(args, out string msg)) { var e = new CommandLineArgumentException( msg, CommandLineArgumentErrorCategory.ApplyValueError); RenameLogger.WriteLog(new LogItem { Exception = e, Level = LogLevel.Error, Message = InvalidCommandLineParam() });; throw e; } //実行コマンド var command = new RenameCommand(); //実行 command.Execute(new RenameExecuteParams { SourcePath = args[0], DestinationPath = args[1], PrefixName = args[2], Signature = args[3], Settings = new OptionSettingsSerializer().Load() }); //変換結果を出力 var outStream = Console.Out; foreach (var line in command.RecordItems) { outStream.WriteLine(line); } //コマンドの破棄 command.Dispose(); }