回答編集履歴

1

コメントを受けて、回答内容の追加。

2017/02/23 11:24

投稿

KenjiToriumi
KenjiToriumi

スコア344

test CHANGED
@@ -17,3 +17,153 @@
17
17
 
18
18
 
19
19
  ```
20
+
21
+
22
+
23
+ ---
24
+
25
+ 【追記】
26
+
27
+ CppCheckは私もたまに使用するので、結果のXML->CSV変換BATを作成してみました。
28
+
29
+ 「severity と id でのソート」と「msg内のエスケープ文字のデコード」処理を追加しています。
30
+
31
+
32
+
33
+ BATファイルに対して、XMLファイルをドロップすれば、同じ場所にCSVファイるが出力されます。
34
+
35
+
36
+
37
+ ご参考までに。
38
+
39
+
40
+
41
+ ※ BATファイル内にPowerShellスクリプト埋め込むテクニックを使用しているので、PowerShellスクリプトの位置(行数)を変更すると、正しく動作しません。
42
+
43
+
44
+
45
+ ```BAT
46
+
47
+ @echo off
48
+
49
+
50
+
51
+ setlocal
52
+
53
+
54
+
55
+ setlocal enabledelayedexpansion
56
+
57
+
58
+
59
+ title CppCheck結果 XML⇒CSV変換
60
+
61
+
62
+
63
+ if "%~1"=="" goto :EXIT
64
+
65
+
66
+
67
+ set SRC_FILE=%~f1
68
+
69
+ set DST_FILE=%~dpn1.csv
70
+
71
+
72
+
73
+ echo %SRC_FILE%
74
+
75
+
76
+
77
+ if not exist !SRC_FILE! echo is not exist! & goto :EXIT
78
+
79
+
80
+
81
+ echo ⇒ %DST_FILE%
82
+
83
+
84
+
85
+ rem PowerShellScript Line 50-60
86
+
87
+ powershell -NoLogo -NoProfile -ExecutionPolicy Unrestricted "$s=[scriptblock]::create((gc \"%~f0\" | ?{ ($_.readcount -ge 50) -and ($_.readcount -le 60) })-join \"`n\");&$s" """%SRC_FILE%""" """%DST_FILE%"""
88
+
89
+
90
+
91
+ start "" "%DST_FILE%"
92
+
93
+
94
+
95
+
96
+
97
+ :EXIT
98
+
99
+
100
+
101
+ echo -------------------------------------------------------------------------------
102
+
103
+ echo 処理結果を確認した後、何かキーを押してください . . .
104
+
105
+ echo.
106
+
107
+ pause >NUL
108
+
109
+
110
+
111
+ endlocal
112
+
113
+ goto :EOF
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+ # ------------------------------------------------------------------------------
146
+
147
+ # PowerShellScript Line 50-60
148
+
149
+ # ------------------------------------------------------------------------------
150
+
151
+ Add-Type -AssemblyName System.Web
152
+
153
+ $xmlResult = [xml](Get-Content $Args[0])
154
+
155
+ $xmlResult.results.error `
156
+
157
+ | Select-Object file,line,severity,id,msg `
158
+
159
+ | Sort-Object severity,id `
160
+
161
+ | %{ $_.msg = [System.Web.HttpUtility]::HtmlDecode($_.msg); return $_ } `
162
+
163
+ | Export-Csv -Path cppcheck.csv -NoTypeInformation
164
+
165
+ # ------------------------------------------------------------------------------
166
+
167
+ ```
168
+
169
+