h-you / branches / src / UpDateCopy / ClsCommon.cs @ 71
履歴 | 表示 | アノテート | ダウンロード (4.94 KB)
1 |
using System; |
---|---|
2 |
using System.Collections.Generic; |
3 |
using System.IO; |
4 |
using System.Linq; |
5 |
using System.Security.Cryptography; |
6 |
using System.Text; |
7 |
using System.Threading.Tasks; |
8 |
|
9 |
namespace UpDateCopy |
10 |
{ |
11 |
public static class ClsCommon |
12 |
{ |
13 |
#region 定数 |
14 |
|
15 |
/// <summary> |
16 |
/// 監視対象プロセス名 |
17 |
/// </summary> |
18 |
public const string s_TargetProcess = "現場監督秘書"; |
19 |
/// <summary> |
20 |
/// パスを定数で定義する |
21 |
/// </summary> |
22 |
//public const string s_UPDATE_FILE_PATH = @"Z:\52GenbaKantokuHisyo"; |
23 |
//public const string s_UPDATE_FILE_PATH = @"Z:\5-2現場監督秘書"; |
24 |
//private const string s_UPDATE_FILE_PATH = @"Z:\⑤IT事業部用\Debug"; |
25 |
|
26 |
/// <summary> |
27 |
/// エラーログファイル |
28 |
/// </summary> |
29 |
public const string s_ErrorFileName = @".\log\Error.txt"; |
30 |
|
31 |
// ▼自動更新VPS対応▼ |
32 |
// FTPユーザ名 |
33 |
public const string s_FTP_USER_NAME = "pmaint"; |
34 |
// FTPパスワード |
35 |
public const string s_FTP_PASSWORD = "hyou5210"; |
36 |
// FTPつなぎ先パス |
37 |
public const string s_FTP_SERVER_PATH = "ftp://203.137.94.208:990/HYOU/"; |
38 |
// 本体モジュールフォルダ |
39 |
public const string s_HONTAI_MODULE = "ProcessManagement"; |
40 |
// UVERSIONキー名 |
41 |
public const string s_UVERSION_KEY = "uversion"; |
42 |
// MVERSIONキー名 |
43 |
public const string s_MVERSION_KEY = "mversion"; |
44 |
// VERSIONセクション名 |
45 |
public const string s_VERSION_SECTION = "genbaKantokuHisyo"; |
46 |
// 起動パラメータ |
47 |
public const string s_KIDOU_PARAM = "/NOCHECK"; |
48 |
// ▲自動更新VPS対応▲ |
49 |
#endregion |
50 |
|
51 |
/// <summary> |
52 |
/// エラー時ログファイル出力 |
53 |
/// </summary> |
54 |
/// <param name="message"></param> |
55 |
public static void ErrorLogWrite(string message) |
56 |
{ |
57 |
try |
58 |
{ |
59 |
// ディレクトリの確認 |
60 |
int spoint = ClsCommon.s_ErrorFileName.LastIndexOf("\\") + 1; |
61 |
string path = ClsCommon.s_ErrorFileName.Substring(spoint); |
62 |
if (Directory.Exists(@path)) |
63 |
Directory.CreateDirectory(@path); |
64 |
// ログ書込み |
65 |
StreamWriter writer = new StreamWriter(@ClsCommon.s_ErrorFileName, true, Encoding.GetEncoding("Shift_JIS")); |
66 |
writer.WriteLine("Error={0}:{1}", DateTime.Now.ToLongTimeString(), message); |
67 |
writer.Close(); |
68 |
} |
69 |
catch |
70 |
{ |
71 |
|
72 |
} |
73 |
} |
74 |
/// ファイルパスよりmd5のハッシュ値を返す |
75 |
/// </summary> |
76 |
/// <param name="FilePath"></param> |
77 |
/// <returns></returns> |
78 |
public static string GetFileHashData(string FilePath) |
79 |
{ |
80 |
try |
81 |
{ |
82 |
//ファイルを開く |
83 |
FileStream fs = new FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.Read); |
84 |
|
85 |
//MD5CryptoServiceProviderオブジェクトを作成 |
86 |
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); |
87 |
|
88 |
//ハッシュ値を計算する |
89 |
byte[] bs = md5.ComputeHash(fs); |
90 |
|
91 |
//リソースを解放する |
92 |
md5.Clear(); |
93 |
//ファイルを閉じる |
94 |
fs.Close(); |
95 |
|
96 |
return BitConverter.ToString(bs).ToLower().Replace("-", ""); |
97 |
|
98 |
} |
99 |
catch (Exception ex) |
100 |
{ |
101 |
ErrorLogWrite(ex.Message.ToString()); |
102 |
return string.Empty; |
103 |
} |
104 |
} |
105 |
/// <summary> |
106 |
/// ファイルの時間を取得する |
107 |
/// </summary> |
108 |
/// <param name="FilePath">ファイルパス</param> |
109 |
/// <param name="flg">取得日付フラグ</param> |
110 |
/// <returns></returns> |
111 |
public static DateTime GetFileTimeStamp(string FilePath, char flg) |
112 |
{ |
113 |
try |
114 |
{ |
115 |
DateTime dtDateTime = DateTime.MinValue; |
116 |
|
117 |
if (flg == 'C') |
118 |
{ |
119 |
// 作成日時を取得する |
120 |
dtDateTime = File.GetCreationTime(@FilePath); |
121 |
} |
122 |
else if (flg == 'U') |
123 |
{ |
124 |
// 更新日時を取得する |
125 |
dtDateTime = File.GetLastWriteTime(@FilePath); |
126 |
} |
127 |
else if (flg == 'A') |
128 |
{ |
129 |
// アクセス日時を取得する |
130 |
dtDateTime = File.GetLastAccessTime(@FilePath); |
131 |
} |
132 |
|
133 |
return dtDateTime; |
134 |
} |
135 |
catch (Exception ex) |
136 |
{ |
137 |
ErrorLogWrite(ex.Message.ToString()); |
138 |
return DateTime.Now; |
139 |
} |
140 |
} |
141 |
} |
142 |
} |