.. 모든 하위 디렉토리 아래의 디렉토리에있는 모든 파일과 모든 파일을 얻을 경로를 유지 이 순간 ..여기 <p></p>은 내 코드입니다 ..
이것은 모든 것을 올바르게 통과해야합니까? 모든 하위 디렉토리와 모든 것?
private List<String> DirSearch(string sDir)
{
List<String> files = new List<String>();
try
{
foreach (string f in Directory.GetFiles(sDir))
{
files.Add(f);
}
foreach (string d in Directory.GetDirectories(sDir))
{
files.AddRange(DirSearch(d));
}
}
catch (System.Exception excpt)
{
MessageBox.Show(excpt.Message);
}
return files;
}
하지만 내가 얻는 것은 1 개의 폴더에서 1 개의 임의 파일이며 루트 폴더의 많은 하위 디렉토리입니다.
private void addFilesFromFolder(List<string> files)
{
String appDataFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData).ToString();
String gpsPath = appDataFolder + "\\GameProfileSaver";
XmlDocument doc = new XmlDocument();
doc.Load(gpsPath + "\\games.xml");
XmlNode fileToAdd = doc.CreateElement("file");
String gName = comboBox1.SelectedItem.ToString();
XmlNode gameName = doc.SelectSingleNode("//games/game[gameName='" + gName + "']/Files");
foreach (string f in files)
{
fileToAdd.InnerText = f;
gameName.AppendChild(fileToAdd);
}
doc.Save(gpsPath + "\\games.xml");
}
[이 버전의 GetFiles] (http://msdn.microsoft.com/en-us/library/ms143316(v=vs.110) .aspx)를 볼 수도 있습니다. SearchOption 매개 변수를 사용하여 재귀를 지원합니다. –
아마'foreach (Directory.GetFiles (sDir, "*", SearchOption.AllDirectories))의 문자열 f를 할 수 있으며 재귀 함수는 없습니다. – MikeSmithDev
[Directory.EnumerateFiles] (http://msdn.microsoft.com/en-us/library/dd383571(v=vs.110).aspx)에서 읽으십시오. –