2012-10-21 4 views
0

이 질문에 도움이 될 수 있습니다. 나는 system.io를 사용하고 있으며, 파일을 이동하고, 그룹화하고, 이름을 변경해야하는 작업을 수행해야합니다. .system.io를 사용하여 파일 읽기?

C#을 사용하여 명령 줄 응용 프로그램에서 작업 한 디렉터리에서 다른 파일로 이동 한 일부 파일을 그룹화해야합니다 (예 : B-12345 1.pdf, B-12345 2.pdf, B -12345 3.pdf, B-12345 4.pdf. 필자는 프로젝트 참조 (b-1234) 당 하나의 직업 만 만들 수 있도록하기 위해 물리적으로 그룹화 할 필요가 없다고 들었다.

이러한 파일을 그룹화 한 후 내가 수행하는 작업에 대한 배경 정보를 제공하려면 작업 테이블 sql database에 레코드를 만들어야합니다. 그러나 다른 날에 대한 또 다른 질문은 ID가 좀 더 자세한 정보를 제공한다고 생각했습니다.

주로 파일 디렉토리에있는 파일을 읽고 파일을 그룹화하는 방법에 대한 정보가 필요합니다. 이는 나에게 매우 유용 할 것입니다.

질문을 조금 더 명확하게하기 위해 명령 줄 앱에서 작업을 수행해야합니다.

  1. 읽기 파일 디렉토리의 SQL DB에
  2. 이동 작업 기록을 작성하고 위치를 수정하는 파일의 이름을 변경
  3. 없음 (확실) 프로젝트에 의해
  4. 그룹 (I는? 이것에 그렇게 확신이 그들에게 이동 한) 사전에

덕분에 내 코드

012,351 이하

입니다

6,
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.IO; 

public class MoveForProcessing 
{ 
    static void Main() 
    { 
     // move cad jobs to processing directory and delete former folder, use the System.IO.Path class. 
     System.IO.Directory.Move(@"C:\Users\Ben\My Documents\Temp\", @"C:\Users\Ben\My Documents\Processing\"); 
    } 
} 
+5

구체적으로 묻는 것은 무엇입니까? 당신은 당신을 위해 프로젝트를 완료 할 사람을 찾을 수 없을 것입니다. 스택 오버플로가 특정 항목에 대한 도움을 찾을 수 있습니다. – usr

+1

귀하의 질문은 잘 생각됩니다. 나는 당신이 과정을 단계적으로 무너 뜨리는 것을 좋아한다. 비슷한 방식으로 2 단계를 세분화하면 솔루션을 찾는 데 훨씬 더 가까워 질 것입니다. – neeKo

답변

2

먼저

private System.IO.DirectoryInfo dir = System.IO.DirectoryInfo.Open(@"path"); 

그런 다음 당신은 또한 와일드 카드를 넣을 수

private FileInfo[] files = dir.GetFiles(); 

디렉토리에 각 파일에서는 FileInfo 개체의 배열을 얻을 문제의 dirctory의의 DirectoryInfo 클래스를 선언 할 수 특정 파일 형식 만 원할 경우 GetFiles()로 문자열 변환

private FileInfo[] files = dir.GetFiles("*.pdf"); 

그러면 배열을 통해 각 FileInfo 객체에 필요한 모든 작업을 수행 할 수 있습니다.

foreach(FileInfo f in files) 
{ 
    f.Move(); // or whatever you need to do 
} 
+0

이 말은 감사합니다. 어떤 코드가 그룹화됩니까? – user1259076

+0

foreach 루프에서 용의자가됩니다. f.FileName에서 이동 또는 복사 할 기준이나 파일에서 수행해야하는 작업을 테스트 할 수 있습니다. 그룹화가 필요하면 각 그룹에 대해 List 개체를 만들 수 있으며 파일을 단계별로 실행하면서 FileInfo를 올바른 List <> 개체에 배치 한 다음 List <> 개체를 통해 foreach하여 이동하거나 복사 할 수 있습니다. . 너의 선택. – Wanabrutbeer

+0

또는 그룹화가 허용되면 "B-1234 *"와 같이 초기 GetFiles() 호출에서 다른 와일드 카드를 사용할 수 있습니다.pdf "로 바꾼 다음 오른쪽 하위 디렉토리로 이동하거나 필요한 작업을 – Wanabrutbeer

관련 문제