2014-03-04 7 views
0

파일이 포함 된 웹 디렉토리가 있으며 모두 삭제하려고합니다. 나는 온라인으로 보았지만 모든 대답은 파일 시스템에 의존하며 웹 사이트의 디렉토리를 사용하려고합니다. 나는이 시도 :웹 디렉토리의 모든 파일을 삭제합니다.

foreach (string file in HttpContext.Current.Server.MapPath("\\MyDirectory")) 
{ 
    File.Delete(file); 
} 

foreach는 문이 밑줄 오류가 디렉토리에있는 모든 파일을 삭제하는 구문은 무엇 'cannot convert type char to string'.

입니다?를

감사합니다.

답변

3

MapPath 매개 변수 (\\ MyDirectory)를 수정해야 할 수도 있지만 필요한 구문은 아래와 같습니다.

System.IO.DirectoryInfo di= new DirectoryInfo(HttpContext.Current.Server.MapPath("\\MyDirectory")); 

foreach (FileInfo file in di.GetFiles()) 
{ 
    file.Delete(); 
} 
+1

좋습니다, 감사합니다. 귀하의 대답은 내 코드를 다음과 같이 재 작성하는 것을 도왔습니다 : Array.ForEach (Directory.GetFiles (HttpContext.Current.Server.MapPath ("\\ MyDirectory")), File.Delete); – frenchie

+0

@frenchie 여러분을 환영합니다. –

1

Server.MapPath는 파일/폴더의 배열이 아니라 디렉토리 경로를 제공합니다. 이 폴더의 모든 파일을 제거 할 경우이 작업을 수행합니다 :

var folderPath = HttpContext.Current.Server.MapPath("\\MyDirectory"); 
foreach (string file in Directory.GetFiles(folderPath)) 
{ 
    File.Delete(file); 
} 

폴더를 삭제하려면 원하는 경우,

var folderPath = HttpContext.Current.Server.MapPath("\\MyDirectory"); 
Directory.Delete(folderPath); 

를 메인 폴더 내의 모든 폴더를 삭제하려면

var folderPath = HttpContext.Current.Server.MapPath("\\MyDirectory"); 
foreach (string file in Directory.GetDirectoriesfolderPath)) 
{ 
    File.Delete(file); 
} 
+1

투표가 실패한 이유는 언제나 감사하겠습니다! –

관련 문제