2013-08-27 4 views
2

전반적으로 경로의 끝 부분에서 파일 이름을 제거하고 나머지 경로를 표시하려고합니다. \ 사용자 \ 문서 : 예를 들어 이 경로를 C : 11.0.25.10 \ AUW_11052_0_X.pts전체 경로를 얻는 방법?

나는 "AUW_11052_0_X.pts"파일을 제거하고 전용 "C를 표시하려면 \ 개발 \ 테스트 \ \ 사용자 \ 문서 \ Development \ testing \ 11.0.25.10 \ "

정확히이 문제에 대해 어떻게 생각합니까? 이 패턴을 정규식으로 만드는 방법에 대해서는 잘 모르겠습니다.

Heres는 내 문제 더 자세한는 두 개의 인수했다 정규식 함수를 작성했다 내가 할 거라고

, 원래의 경로는 다음 파일 이름 (어떤 시점에서 프로그램이 곳의 모든 목록을 루프 파일은 저장되고 그 파일 이름을 얻습니다.) 마지막 "\"문자 다음에 아무것도 가져 오지 않고 파일 이름 인수와 비교 한 정규식 함수를 만들려고합니다. 실제로 파일 이름을 제거하는 것보다 실제로 일치하는 경우 그리고 그렇지 않으면 그대로 두십시오. 내 문제는 내가 어떻게 알지 못하는 마지막 "\"문자 뒤에 어떤 것을 찾는 정규식 패턴을 만드는 방법을 알아내는 것입니다.

답변 : 패턴이 ^(.*[\\\/])이면 모든 문자를 가져올 것입니다. 마지막 "\"

+3

사실, Regex는 이것에 대해 과도한 고생입니다. @SLaks 제안대로. – user2366842

답변

11

당신은 Path.GetDirectoryName()을 찾고 있습니다.

+0

나는 이것을했고 슬프게도 내가 원하는 올바른 결과를 얻지 못했다. 디렉토리와 파일을 반복하면서 "C : \ Users \ Documents \ Development \ testing \ 11.0.25.10 \"에 "C : \ Users \ Documents \ Development \ testing \"을 생성합니다. 그래서 정규식으로 확인하고 싶습니다. – user2619395

+1

@ user2619395 : 문제를보다 정확하게 기술하십시오. 경로가 슬래시로 끝나지 않는 경우에만 호출하려는 것 같습니다. – SLaks

+0

제 문제는 소스 파일을 디렉토리 파일에 복사한다는 것입니다. 내 코드 중에 어떤 시점에서 폴더가 나올 디렉토리 만 필요합니다. 어떤 예를 들어 "C : \ Users \ Documents \ Development \ testing \ 11.0.25.10 \"이 될 것입니다. 그러나 어떤 지점에서는 "C : \ Users \ Documents \ Development \ testing \ 11.0.25.10 \"디렉토리를 반복합니다. 원래 폴더 \ 11.0.25.10 \ 및 하위 디렉토리를 통과하기 때문입니다. – user2619395

0

왜 이렇게 할 수 없습니까? (: \ 사용자 \ 문서 \ 개발 \ 테스트 C)과 그 아래 각각의 디렉토리를 조작하고 각 디렉토리 아래에 각 개별 파일

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.IO; 

namespace directorysearch 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      DirectoryInfo di = new DirectoryInfo(@"c:\users\documents\development\testing"); 
      FileInfo[] files = null; 
      DirectoryInfo[] dirs = null; 
      dirs = di.GetDirectories(); 
      foreach (DirectoryInfo dir in dirs) 
      { 
       files = dir.GetFiles("*", SearchOption.TopDirectoryOnly); 
      } 
     } 
    } 
} 

이 당신이 기본 경로를 입력 할 수 있습니다?

관련 문제