获取当前文件夹下的所有空文件夹路径信息
1
using System;
2
using System.Drawing;
3
using System.Collections;
4
using System.ComponentModel;
5
using System.Windows.Forms;
6
using System.Data;
7
using System.IO;
8![](/Images/OutliningIndicators/None.gif)
9
namespace 删除空文件夹
10
{
11
/// <summary>
12
/// Form1 的摘要说明。
13
/// </summary>
14
public class Form1 : System.Windows.Forms.Form
15
{
16
private System.Windows.Forms.Button button1;
17
private System.Windows.Forms.RichTextBox richTextBox1;
18
/// <summary>
19
/// 必需的设计器变量。
20
/// </summary>
21
private System.ComponentModel.Container components = null;
22![](/Images/OutliningIndicators/InBlock.gif)
23
public Form1()
24
{
25
//
26
// Windows 窗体设计器支持所必需的
27
//
28
InitializeComponent();
29![](/Images/OutliningIndicators/InBlock.gif)
30
//
31
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
32
//
33
}
34![](/Images/OutliningIndicators/InBlock.gif)
35
/// <summary>
36
/// 清理所有正在使用的资源。
37
/// </summary>
38
protected override void Dispose( bool disposing )
39
{
40
if( disposing )
41
{
42
if (components != null)
43
{
44
components.Dispose();
45
}
46
}
47
base.Dispose( disposing );
48
}
49![](/Images/OutliningIndicators/InBlock.gif)
50
Windows 窗体设计器生成的代码
94![](/Images/OutliningIndicators/InBlock.gif)
95
/// <summary>
96
/// 应用程序的主入口点。
97
/// </summary>
98
[STAThread]
99
static void Main()
100
{
101
Application.Run(new Form1());
102
}
103
//遍历当前文件夹下的空文件夹(包括它的下一级文件夹)
104
private void SearchDirectoryEmptyFolder(string targetDirectory )
105
{
106
if (Directory.Exists(targetDirectory))
107
{
108
DirectoryInfo di = new DirectoryInfo(targetDirectory);
109
if( DirSize(di)== 0)
110
{
111![](/Images/OutliningIndicators/InBlock.gif)
112
// ' Empty folder
113
w1++;
114
this.richTextBox1.Text +=w1.ToString()+ ("Folder " + targetDirectory +" is empty\n") ;
115
}
116
else
117
{
118
//' Recurse subdirectories of this directory
119
//string subdirectory ="";
120
string[] subdirectoryEntries = Directory.GetDirectories(targetDirectory) ;
121
foreach( string subdirectory in subdirectoryEntries )
122
{
123
//this.richTextBox1.Text +=("Folder is " + subdirectory+"\n") ;
124
SearchDirectoryEmptyFolder(subdirectory) ;
125
}
126
}
127
}
128
}
129
//遍历当前文件夹下的所有文件信息(包括它的下一级文件夹)
130
public static void DirSearch(DirectoryInfo d)
131
{
132
//get the current directory files information
133
FileInfo[] files = d.GetFiles();
134
Console.WriteLine("Total number of txt files:{0}",files.Length);
135
foreach(FileInfo f in files)
136
{
137
Console.WriteLine("Name is : {0}", f.Name);
138
Console.WriteLine("Length of the file is : {0}", f.Length);
139
Console.WriteLine("Creation time is : {0}", f.CreationTime);
140
Console.WriteLine("the path of the file: {0}",f.FullName);
141
Console.WriteLine("Attributes of the file are : {0}",
142
f.Attributes.ToString());
143
}
144
145
// recursion transfer get the next directory information
146
DirectoryInfo[] dis = d.GetDirectories();
147
foreach (DirectoryInfo di in dis)
148
{
149
DirSearch(di);
150
}
151
}
152![](/Images/OutliningIndicators/InBlock.gif)
153![](/Images/OutliningIndicators/InBlock.gif)
154
int w1=0;
155
//遍历当前文件夹下的所有文件夹名(包括它的下一级文件夹))
156
private void SearchDirectoryFolder(string targetDirectory )
157
{
158
if (Directory.Exists(targetDirectory))
159
{
160
if( Directory.GetFileSystemEntries(targetDirectory).Length == 0)
161
{
162
//Empty folder
163
w1++;
164
this.richTextBox1.Text +=w1.ToString()+ ("Folder " + targetDirectory +" is empty\n") ;
165
}
166
else
167
{
168
//' Recurse subdirectories of this directory
169
string[] subdirectoryEntries = Directory.GetDirectories(targetDirectory) ;
170
foreach( string subdirectory in subdirectoryEntries )
171
{
172
//this.richTextBox1.Text +=("Folder is " + subdirectory+"\n") ;
173
SearchDirectoryFolder(subdirectory) ;
174
}
175
}
176
}
177
}
178![](/Images/OutliningIndicators/InBlock.gif)
179
private void button1_Click(object sender, System.EventArgs e)
180
{
181
this.richTextBox1.Text ="";
182
183
//SearchDirectoryFolder(@"c:\CarArchives");
184
//DirectoryInfo di = new DirectoryInfo(@"c:\CarArchives");
185
//long i=DirSize(di)/1024;
186
//this.richTextBox1.Text = (i.ToString()+"KB" ) ;
187
//SearchDirectoryEmptyFolder(@"c:\CarArchives");
188
//ProcessDirectory(@"c:\CarArchives");
189
PrintFileSystemEntries(@"c:\CarArchives\2005");
190
}
191![](/Images/OutliningIndicators/InBlock.gif)
192
193![](/Images/OutliningIndicators/InBlock.gif)
194
//计算当前文件夹的大小(包括它的下一级文件夹)
195
public long DirSize(DirectoryInfo d)
196
{
197
long Size = 0;
198
// Add file sizes.
199
FileInfo[] fis = d.GetFiles();
200
foreach (FileInfo fi in fis)
201
{
202
Size +=fi.Length; ;
203
}
204
// Add subdirectory sizes.
205
DirectoryInfo[] dis = d.GetDirectories();
206
foreach (DirectoryInfo di in dis)
207
{
208
Size +=DirSize(di); ;
209
}
210
return(Size);
211
}
212![](/Images/OutliningIndicators/InBlock.gif)
213
//获取当前文件夹中的所有文件和文件夹(不包括它的下一级目录)
214
void PrintFileSystemEntries(string path)
215
{
216
217
try
218
{
219
// Obtain the file system entries in the directory path.
220
string[] directoryEntries =
221
System.IO.Directory.GetFileSystemEntries(path);
222![](/Images/OutliningIndicators/InBlock.gif)
223
foreach (string str in directoryEntries)
224
{
225
//System.Console.WriteLine(str);
226
this.richTextBox1.Text+=str+"\n" ;
227
}
228
}
229
catch (ArgumentNullException)
230
{
231
System.Console.WriteLine("Path is a null reference.");
232
}
233
catch (System.Security.SecurityException)
234
{
235
System.Console.WriteLine("The caller does not have the " +
236
"required permission.");
237
}
238
catch (ArgumentException)
239
{
240
System.Console.WriteLine("Path is an empty string, " +
241
"contains only white spaces, " +
242
"or contains invalid characters.");
243
}
244
catch (System.IO.DirectoryNotFoundException)
245
{
246
System.Console.WriteLine("The path encapsulated in the " +
247
"Directory object does not exist.");
248
}
249
}
250![](/Images/OutliningIndicators/InBlock.gif)
251
//获取当前文件夹下的所有文件和文件夹(不包括它的下一级目录)
252
public void ProcessDirectory(string targetDirectory)
253
{
254
// Process the list of files found in the directory.
255
string [] fileEntries = Directory.GetFiles(targetDirectory);
256
foreach(string fileName in fileEntries)
257
this.richTextBox1.Text +=fileName+"\n";
258
// Recurse into subdirectories of this directory.
259
string [] subdirectoryEntries = Directory.GetDirectories(targetDirectory);
260
foreach(string subdirectory in subdirectoryEntries)
261
{
262
this.richTextBox1.Text += subdirectory+"\n"+"**********************************\n\n" ;
263
ProcessDirectory(subdirectory);
264
}
265![](/Images/OutliningIndicators/InBlock.gif)
266
267
}
268![](/Images/OutliningIndicators/InBlock.gif)
269
}
270![](/Images/OutliningIndicators/InBlock.gif)
271![](/Images/OutliningIndicators/InBlock.gif)
272
}
273![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
11
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/InBlock.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
34
![](/Images/OutliningIndicators/InBlock.gif)
35
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
38
![](/Images/OutliningIndicators/InBlock.gif)
39
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
40
![](/Images/OutliningIndicators/InBlock.gif)
41
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
42
![](/Images/OutliningIndicators/InBlock.gif)
43
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
44
![](/Images/OutliningIndicators/InBlock.gif)
45
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
46
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
47
![](/Images/OutliningIndicators/InBlock.gif)
48
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
49
![](/Images/OutliningIndicators/InBlock.gif)
50
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
94
![](/Images/OutliningIndicators/InBlock.gif)
95
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
96
![](/Images/OutliningIndicators/InBlock.gif)
97
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
98
![](/Images/OutliningIndicators/InBlock.gif)
99
![](/Images/OutliningIndicators/InBlock.gif)
100
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
101
![](/Images/OutliningIndicators/InBlock.gif)
102
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
103
![](/Images/OutliningIndicators/InBlock.gif)
104
![](/Images/OutliningIndicators/InBlock.gif)
105
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
106
![](/Images/OutliningIndicators/InBlock.gif)
107
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
108
![](/Images/OutliningIndicators/InBlock.gif)
109
![](/Images/OutliningIndicators/InBlock.gif)
110
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
111
![](/Images/OutliningIndicators/InBlock.gif)
112
![](/Images/OutliningIndicators/InBlock.gif)
113
![](/Images/OutliningIndicators/InBlock.gif)
114
![](/Images/OutliningIndicators/InBlock.gif)
115
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
116
![](/Images/OutliningIndicators/InBlock.gif)
117
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
118
![](/Images/OutliningIndicators/InBlock.gif)
119
![](/Images/OutliningIndicators/InBlock.gif)
120
![](/Images/OutliningIndicators/InBlock.gif)
121
![](/Images/OutliningIndicators/InBlock.gif)
122
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
123
![](/Images/OutliningIndicators/InBlock.gif)
124
![](/Images/OutliningIndicators/InBlock.gif)
125
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
126
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
127
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
128
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
129
![](/Images/OutliningIndicators/InBlock.gif)
130
![](/Images/OutliningIndicators/InBlock.gif)
131
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
132
![](/Images/OutliningIndicators/InBlock.gif)
133
![](/Images/OutliningIndicators/InBlock.gif)
134
![](/Images/OutliningIndicators/InBlock.gif)
135
![](/Images/OutliningIndicators/InBlock.gif)
136
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
137
![](/Images/OutliningIndicators/InBlock.gif)
138
![](/Images/OutliningIndicators/InBlock.gif)
139
![](/Images/OutliningIndicators/InBlock.gif)
140
![](/Images/OutliningIndicators/InBlock.gif)
141
![](/Images/OutliningIndicators/InBlock.gif)
142
![](/Images/OutliningIndicators/InBlock.gif)
143
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
144
![](/Images/OutliningIndicators/InBlock.gif)
145
![](/Images/OutliningIndicators/InBlock.gif)
146
![](/Images/OutliningIndicators/InBlock.gif)
147
![](/Images/OutliningIndicators/InBlock.gif)
148
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
149
![](/Images/OutliningIndicators/InBlock.gif)
150
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
151
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
152
![](/Images/OutliningIndicators/InBlock.gif)
153
![](/Images/OutliningIndicators/InBlock.gif)
154
![](/Images/OutliningIndicators/InBlock.gif)
155
![](/Images/OutliningIndicators/InBlock.gif)
156
![](/Images/OutliningIndicators/InBlock.gif)
157
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
158
![](/Images/OutliningIndicators/InBlock.gif)
159
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
160
![](/Images/OutliningIndicators/InBlock.gif)
161
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
162
![](/Images/OutliningIndicators/InBlock.gif)
163
![](/Images/OutliningIndicators/InBlock.gif)
164
![](/Images/OutliningIndicators/InBlock.gif)
165
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
166
![](/Images/OutliningIndicators/InBlock.gif)
167
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
168
![](/Images/OutliningIndicators/InBlock.gif)
169
![](/Images/OutliningIndicators/InBlock.gif)
170
![](/Images/OutliningIndicators/InBlock.gif)
171
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
172
![](/Images/OutliningIndicators/InBlock.gif)
173
![](/Images/OutliningIndicators/InBlock.gif)
174
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
175
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
176
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
177
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
178
![](/Images/OutliningIndicators/InBlock.gif)
179
![](/Images/OutliningIndicators/InBlock.gif)
180
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
181
![](/Images/OutliningIndicators/InBlock.gif)
182
![](/Images/OutliningIndicators/InBlock.gif)
183
![](/Images/OutliningIndicators/InBlock.gif)
184
![](/Images/OutliningIndicators/InBlock.gif)
185
![](/Images/OutliningIndicators/InBlock.gif)
186
![](/Images/OutliningIndicators/InBlock.gif)
187
![](/Images/OutliningIndicators/InBlock.gif)
188
![](/Images/OutliningIndicators/InBlock.gif)
189
![](/Images/OutliningIndicators/InBlock.gif)
190
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
191
![](/Images/OutliningIndicators/InBlock.gif)
192
![](/Images/OutliningIndicators/InBlock.gif)
193
![](/Images/OutliningIndicators/InBlock.gif)
194
![](/Images/OutliningIndicators/InBlock.gif)
195
![](/Images/OutliningIndicators/InBlock.gif)
196
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
197
![](/Images/OutliningIndicators/InBlock.gif)
198
![](/Images/OutliningIndicators/InBlock.gif)
199
![](/Images/OutliningIndicators/InBlock.gif)
200
![](/Images/OutliningIndicators/InBlock.gif)
201
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
202
![](/Images/OutliningIndicators/InBlock.gif)
203
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
204
![](/Images/OutliningIndicators/InBlock.gif)
205
![](/Images/OutliningIndicators/InBlock.gif)
206
![](/Images/OutliningIndicators/InBlock.gif)
207
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
208
![](/Images/OutliningIndicators/InBlock.gif)
209
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
210
![](/Images/OutliningIndicators/InBlock.gif)
211
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
212
![](/Images/OutliningIndicators/InBlock.gif)
213
![](/Images/OutliningIndicators/InBlock.gif)
214
![](/Images/OutliningIndicators/InBlock.gif)
215
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
216
![](/Images/OutliningIndicators/InBlock.gif)
217
![](/Images/OutliningIndicators/InBlock.gif)
218
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
219
![](/Images/OutliningIndicators/InBlock.gif)
220
![](/Images/OutliningIndicators/InBlock.gif)
221
![](/Images/OutliningIndicators/InBlock.gif)
222
![](/Images/OutliningIndicators/InBlock.gif)
223
![](/Images/OutliningIndicators/InBlock.gif)
224
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
225
![](/Images/OutliningIndicators/InBlock.gif)
226
![](/Images/OutliningIndicators/InBlock.gif)
227
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
228
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
229
![](/Images/OutliningIndicators/InBlock.gif)
230
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
231
![](/Images/OutliningIndicators/InBlock.gif)
232
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
233
![](/Images/OutliningIndicators/InBlock.gif)
234
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
235
![](/Images/OutliningIndicators/InBlock.gif)
236
![](/Images/OutliningIndicators/InBlock.gif)
237
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
238
![](/Images/OutliningIndicators/InBlock.gif)
239
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
240
![](/Images/OutliningIndicators/InBlock.gif)
241
![](/Images/OutliningIndicators/InBlock.gif)
242
![](/Images/OutliningIndicators/InBlock.gif)
243
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
244
![](/Images/OutliningIndicators/InBlock.gif)
245
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
246
![](/Images/OutliningIndicators/InBlock.gif)
247
![](/Images/OutliningIndicators/InBlock.gif)
248
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
249
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
250
![](/Images/OutliningIndicators/InBlock.gif)
251
![](/Images/OutliningIndicators/InBlock.gif)
252
![](/Images/OutliningIndicators/InBlock.gif)
253
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
254
![](/Images/OutliningIndicators/InBlock.gif)
255
![](/Images/OutliningIndicators/InBlock.gif)
256
![](/Images/OutliningIndicators/InBlock.gif)
257
![](/Images/OutliningIndicators/InBlock.gif)
258
![](/Images/OutliningIndicators/InBlock.gif)
259
![](/Images/OutliningIndicators/InBlock.gif)
260
![](/Images/OutliningIndicators/InBlock.gif)
261
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
262
![](/Images/OutliningIndicators/InBlock.gif)
263
![](/Images/OutliningIndicators/InBlock.gif)
264
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
265
![](/Images/OutliningIndicators/InBlock.gif)
266
![](/Images/OutliningIndicators/InBlock.gif)
267
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
268
![](/Images/OutliningIndicators/InBlock.gif)
269
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
270
![](/Images/OutliningIndicators/InBlock.gif)
271
![](/Images/OutliningIndicators/InBlock.gif)
272
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
273
![](/Images/OutliningIndicators/None.gif)