저는 C#을 처음 접했을 때 다른 사람이 저를 도울 수 있는지 궁금합니다. 폴더가있는 드라이브가 있는데, 파일이 들어있는 폴더에 있습니다. 재귀 적으로 파일을 반복하고 이러한 파일 이름을 모두 .txt 파일로 모으는 방법이 있습니까?여러 하위 디렉토리가있는 디렉토리에서 파일을 반복적으로 가져 오기
내 콘솔 앱에이를 구현하는 방법을 잘 모르겠습니다. 누구에게 도움이되는 코드가 있습니까?
저는 C#을 처음 접했을 때 다른 사람이 저를 도울 수 있는지 궁금합니다. 폴더가있는 드라이브가 있는데, 파일이 들어있는 폴더에 있습니다. 재귀 적으로 파일을 반복하고 이러한 파일 이름을 모두 .txt 파일로 모으는 방법이 있습니까?여러 하위 디렉토리가있는 디렉토리에서 파일을 반복적으로 가져 오기
내 콘솔 앱에이를 구현하는 방법을 잘 모르겠습니다. 누구에게 도움이되는 코드가 있습니까?
, 당신은이 라인을 따라 뭔가를 시도 할 수 있습니다 :
각 경기, 프롬프트, 디렉토리 구조를 걸을 것이다class Program
{
static IEnumerable<String> Visitor(String root, String searchPattern)
{
foreach (var file in Directory.GetFiles(root, searchPattern, SearchOption.TopDirectoryOnly))
{
yield return file;
}
foreach (var folder in Directory.GetDirectories(root))
{
foreach (var file in Visitor(folder, searchPattern))
yield return file;
}
}
static void Main(string[] args)
{
foreach (var file in Visitor(args[0], args[1]))
{
Console.Write("Process {0}? (Y/N) ", file);
if (Console.ReadKey().Key == ConsoleKey.Y)
{
Console.WriteLine("{1}\tProcessing {0}...", file, Environment.NewLine);
}
else
{
Console.WriteLine();
}
}
}
}
사용자가 파일을 처리할지 여부를 지정합니다.
File.WriteAllLines("yourfile.txt", Directory.GetFiles("path", "*.*", SearchOption.AllDirectories));
C# 프로그래밍 가이드에는 이 있으며 디렉토리 트리를 탐색합니다.
@Koen's answer은 일반적으로 더 유용하지만이 문서의 접근 방식은 일치하는 파일을 찾을 때마다 UI (또는 기타)를 업데이트하는 "비동기"접근 방식이 필요한 경우 유용 할 수 있습니다. 다른 방법을 사용하면 모든 파일을 가지고 있거나 그렇지 않습니다. 지금은 당신이 찾은 각 파일에 대한 사용자에게 메시지를 표시 할 것인지 이해
어쩌면 이렇게 할 수 있을까요?
var files = Directory.GetFiles("c:\\", "*.*", SearchOption.AllDirectories);
using (var sw = new StreamWriter("output.txt"))
{
files.ToList().ForEach(file => sw.WriteLine(file));
}
내가 이것을 사용하면 내가 프롬프트에 넣어 수있는 방법, System.IO
를 사용하는 것을 잊지 마십시오. 예를 들어 ... 나는이 응용 프로그램을 실행하는 사용자가 파일 이름을 볼 수 있도록 Console.Write (파일)을 원한다. 그러나 내 앱이 다른 일을하기 전에 계속 ... 사용자가 Y를 눌러 계속 진행하기를 원합니다. 어떻게해야합니까? – yeahumok
귀하의 필요를 해결하기 위해 제 답변을 수정했습니다. –