Пример #1
0
 /// <summary>
 /// フォーム用コンストラクタ
 /// </summary>
 /// <param name="log">共通ロジッククラスインスタンス</param>
 public ExecRobocopy(MCSComLogic comLgc) : this(comLgc, new string[0])
 {
     /*
      * 第2引数に初期状態の配列インスタンスを指定し、
      * コマンドライン引数用コンストラクタ呼出し
      */
 }
Пример #2
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="log">共通ロジッククラスインスタンス</param>
        public Form1(MCSComLogic comLgc)
        {
            InitializeComponent();

            this._comLgc = comLgc;

            // メインロジッククラスインスタンス生成
            execRbcpy = new ExecRobocopy(this._comLgc);
        }
Пример #3
0
        /// <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 + "終了");
            }
        }
Пример #4
0
        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);
        }
Пример #5
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="log">共通ロジッククラスインスタンス</param>
 public PrcRoboCopy(MCSComLogic comLg)
 {
     this._comLgc = comLg;
 }