/// <summary> /// フォーム用コンストラクタ /// </summary> /// <param name="log">共通ロジッククラスインスタンス</param> public ExecRobocopy(MCSComLogic comLgc) : this(comLgc, new string[0]) { /* * 第2引数に初期状態の配列インスタンスを指定し、 * コマンドライン引数用コンストラクタ呼出し */ }
/// <summary> /// コンストラクタ /// </summary> /// <param name="log">共通ロジッククラスインスタンス</param> public Form1(MCSComLogic comLgc) { InitializeComponent(); this._comLgc = comLgc; // メインロジッククラスインスタンス生成 execRbcpy = new ExecRobocopy(this._comLgc); }
/// <summary> /// コマンドライン引数用コンストラクタ /// </summary> /// <param name="comLgc">共通ロジッククラスインスタンス</param> /// <param name="cmdArgs">コマンドライン引数</param> public ExecRobocopy(MCSComLogic comLgc, string[] cmdArgs) { // ログ用メソッド名 string strMethodName = "ExecRobocopy"; this._comLgc = comLgc; this._comLgc.WriteLog(strMethodName + "開始"); // コンフィグ取得メソッド使用 GetConfig(); try { // 実行日付取得 todayYyyymmdd = DateTime.Now.ToString("yyyyMMdd"); // 「[YYYYMMDD]」を本日日付に置き換え colSrcPathAryCopy = colSrcPathAryCopy.Select((string x) => { return(x.Replace("[YYYYMMDD]", todayYyyymmdd)); }).ToArray(); rbcpyOptCopy = rbcpyOptCopy.Replace("[YYYYMMDD]", todayYyyymmdd); // コピー用設定デフォルト値設定 IsOutDetailLog = isOutDetailLogCopy; ColSrcPathAry = colSrcPathAryCopy; ColDstPathAry = colDstPathAryCopy; RbcpyOpt = rbcpyOptCopy; // 引数に「/MOV」がある場合 int idx = Array.FindIndex(cmdArgs, x => x.IndexOf("/MOVE", StringComparison.InvariantCultureIgnoreCase) >= 0); if (idx >= 0) { // 「[YYYYMMDD]」置換え colSrcPathAryMove = colSrcPathAryMove.Select((string x) => { return(x.Replace("[YYYYMMDD]", todayYyyymmdd)); }).ToArray(); rbcpyOptMove = rbcpyOptMove.Replace("[YYYYMMDD]", todayYyyymmdd); // 移動用設定 IsOutDetailLog = isOutDetailLogMove; ColSrcPathAry = colSrcPathAryMove; ColDstPathAry = colDstPathAryMove; RbcpyOpt = rbcpyOptMove; } } catch (Exception ex) { this._comLgc.WriteLog(ex.Message + ex.StackTrace); } finally { this._comLgc.WriteLog(strMethodName + "終了"); } }
public static void Main(string[] args) { // 共通ロジッククラスインスタンス生成 MCSComLogic _comLgc = new MCSComLogic(); try { // メイン処理起動 PrcRoboCopy job = new PrcRoboCopy(_comLgc); job.Start(args); } catch (Exception ex) { // ログ出力 _comLgc.WriteLog(ex.Message + ex.StackTrace); Environment.Exit(-1); } Environment.Exit(0); }
/// <summary> /// コンストラクタ /// </summary> /// <param name="log">共通ロジッククラスインスタンス</param> public PrcRoboCopy(MCSComLogic comLg) { this._comLgc = comLg; }