2011-02-18 3 views
0

오라클 Oracle Business Intelligence 소프트웨어를 사용하고 있으며 종종 사용자 시스템의 특정 데이터를 지우고 서버와 동기화하여 데이터를 다시 가져 오는 문제가 있습니다. 나는 핵심 디렉토리를 제거하고 다른 사람의 이름을 바꾸고 서비스를 중지하는 VB 스크립트를 가지고있다.VBS 예외가있는 FileSystemObject를 사용하여 디렉토리 내의 파일을 제거 하시겠습니까?

나는 막힌 곳이 특정 디렉토리에있다. FileSystemObject를 사용하면 단일 폴더를 제외하고 디렉토리 내의 모든 단일 파일을 제거하는 가장 쉬운 방법은 무엇입니까?

그래서,이 특정 예를 들어, 내가 가진 C : \ OracleBIData 내가 config 디렉토리를 제외하고 "동기화"디렉토리 안에 모든 것을 삭제하려는 동기 \의 설정

\. 어떤 사람?

답변

1

니펫 :

Option explicit 

Const folderspec = "C:\OracleBIData\sync" 
Const excludeFolder = "C:\OracleBIData\sync\config" 

deleteSubFolders CreateObject("Scripting.FileSystemObject").GetFolder(folderspec), excludeFolder 

Public Sub deleteSubFolders(byRef MyFolder, exclFolder) 
    Dim sf 
    For Each sf in MyFolder.SubFolders 
     If not (lCase(sf.Path) = lCase(exclFolder)) Then 
      deleteSubFolders sf, exclFolder 
      sf.Delete 
     End If 
    Next 
End Sub 

그것은 excludeFolder에서 폴더를 삭제하지 않습니다.

+0

AutomatedChaos,이 방법에 늦습니다. 작은 문제는 해결할 수 있었지만 답변을 주셔서 감사드립니다. 불행한 가족 개발이 있었고 실제로이 실로 돌아 가지 않았습니다. – Zer0mod

0

브 루트 포스는 내가 생각할 수있는 것입니다.

항목이 아니라 항목을 탐색하고 구성이 아닌 경우 삭제하십시오. 또는이 디렉토리에 많은 파일과 많은 파일이 있으면 먼저 * 삭제를 실행하십시오. , b. *, d *. * 25 번 입력 한 다음 나머지 항목을 살펴보십시오.

관련 문제