프로그램&DB/ASP
ASP에서 서버의 디렉토리를 재귀적으로 자동생성하는 함수 by 채윤이님
Josep.H.S
2011. 8. 11. 08:05
예를 들면, "C:\Temp\Web\Upload\2010\02\10" 식의 디렉토리에 임시 폴더를 생성하려 한다면, CreateFolder 메소드로는 바로 오류가 발생하게 됩니다. 차례 차례 경로를 들어가면서 해당 디렉토리가 없으면 하나씩
생성해 주어야 되죠. 이를 테면 다음과 같이 만들어야 겠죠.
If not objFSO.FolderExists("C:\Temp") then
위와 같이 해주어야 "C:\Temp\Web\Upload\2010\02\10" 폴더가 원하는 형태로 생성이 됩니다. 하지만 경로가 날짜에 따라서 바뀌므로, 위와 같은 하드 코딩으로는 불가능하죠. 이를 다음과 같은 재귀함수를 사용하면 손쉽게 해결이 됩니다.
If not objFSO.FolderExists("C:\Temp") then Call objFSO.CreateFolder(("C:\Temp") End if If not objFSO.FolderExists("C:\Temp\Web") then Call objFSO.CreateFolder("C:\Temp\Web") End if If not objFSO.FolderExists("C:\Temp\Web\Upload") then Call objFSO.CreateFolder("C:\Temp\Web\Upload") End if If not objFSO.FolderExists("C:\Temp\Web\Upload2010") then Call objFSO.CreateFolder("C:\Temp\Web\Upload2010") End if If not objFSO.FolderExists("C:\Temp\Web\Upload2010\02") then Call objFSO.CreateFolder("C:\Temp\Web\Upload2010\02") End if If not objFSO.FolderExists("C:\Temp\Web\Upload2010\02\10") then Call objFSO.CreateFolder("C:\Temp\Web\Upload2010\02\10") End if
재귀함수를 이용하면 정말 간편하게 작업할 수 있습니다. 위 함수를 공통으로 사용하는 파일에 포함시켜 놓으면 유용하게 사용하실 수
있습니다.
[출처] http://hbesthee.tistory.com/archive/201002