|
|
|
C# System.IO.Directory.GetFiles อยากทราบวิธีค้นหาไฟล์แบบ หลายนามสกุลครับ |
|
|
|
|
|
|
|
Code (C#)
private void recursive(DirectoryInfo folder)
{
folder.GetDirectories().ToList().ForEach(f => this.recursive(f));
folder.GetFiles().Where(f => (new string[] { "jpg", "png", "gif" }).Contains(f.Extension)).ToList().ForEach(f => f.MoveTo(string.Format(@"{0}\{1}\{2}", textBox1.Text, f.DirectoryName, f.Name)));
}
|
|
|
|
|
Date :
2014-11-11 20:09:28 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รู้สึก extension จะต้องมีจุดนะ
.jpg .png .gif
|
|
|
|
|
Date :
2014-11-11 20:12:08 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากครับ
|
|
|
|
|
Date :
2014-11-12 08:21:17 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมว่ามู้นี้เขียนโค้ดเทพมากอ่ะ
|
|
|
|
|
Date :
2014-11-17 10:16:41 |
By :
deksoke |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทดสอบ ง่ายๆ การหาfile ที่ filedialog คีย์ *.jpg;*.png;*.txt
ทุกรายการคั่นด้วยเซมิโคลอน ก็จะเป็น เลือกแสดงไฟล์ ตามนามสกุลที่กำหนด
|
|
|
|
|
Date :
2014-11-17 10:39:57 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
System.IO.Directory.GetFiles(dir, "*.jpg;*.png")
แบบนี้ไม่ได้อ่าครับ น่าจะเป็นแบบไหนอีกบ้าง
ที่จะทำให้ GetFiles หลาย นามสกุลได้แต่ไม่ใช่ *.*
|
|
|
|
|
Date :
2014-11-19 13:15:44 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แระครับ foreach (string ext in _Extension) แยกเก็บแต่ละนามสกุลเอา
Code (C#)
public static System.Collections.Generic.List<string> GetFilesRecursive(string initial, string[] _Extension )
{
System.Collections.Generic.List<string> result = new System.Collections.Generic.List<string>();
System.Collections.Generic.Stack<string> stack = new System.Collections.Generic.Stack<string>();
stack.Push(initial);
while ((stack.Count > 0))
{
string dir = stack.Pop();
foreach (string ext in _Extension)
{
string _ext = (ext.Substring(0, 1) != "*") ? "*" + ext : ext;
result.AddRange(System.IO.Directory.GetFiles(dir, _ext));
}
string directoryName = null;
foreach (string directoryName_loopVariable in System.IO.Directory.GetDirectories(dir))
{
directoryName = directoryName_loopVariable;
stack.Push(directoryName);
}
}
return result;
}
การใช้งาน
Code (C#)
string[] extensions = new[] { "*.jpg", "*.png", "*.cs" };
List<string> lst = Program.GetFilesRecursive(@"I:\DATA_CSharp_", extensions);
ใครมีไอเดียแหล่มๆก็บอกกันได้นะครับผมยังรับยุ
|
|
|
|
|
Date :
2014-11-19 22:07:29 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|