폴더를 만들고 해당 파일을 폴더로 이동하세요.

폴더를 만들고 해당 파일을 폴더로 이동하세요.

다음과 같은 이름 구조를 가진 폴더에 약 100개의 PDF 파일이 있습니다.

  • 신용 보고서 - Google Inc
  • 신용 보고서 - BP Plc
  • 신용 보고서 - Apple Inc
  • 신용 보고서 - Saipem 스파

등등.

다음과 같은 이름을 가진 새 폴더를 새로 만드는 명령이 있습니까?

  • 구글 주식회사
  • BP PLC

해당 PDF를 이동하십시오.

  • 신용 보고서 - Google Inc
  • 신용 보고서 - BP Plc

그들 속으로.

감사해요

(PS: 저는 처음 사용하는 사용자로서 포럼의 텍스트 형식에 어려움을 겪고 있습니다. 이상한 형식이 있으면 양해해 주시기 바랍니다.)

답변1

MoveToFolders.VBS

FolderSpec="c:\tmp"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = FSO.GetFolder(FolderSpec)
For Each OneFile In SourceFolder.Files
    If LCase(Right(OneFile.Name, 4)) = ".pdf" and Instr(OneFile.Name, "-") > 0 Then
        FSO.CreateFolder FolderSpec & "\" & Trim(Split(Split(OneFile.Name, "-")(1), ".")(0))
        OneFile.Move FolderSpec & "\" & Trim(Split(Split(OneFile.Name, "-")(1), ".")(0)) & "\" & OneFile.Name
    end if
Next

편집하고 "c:\tmp"소스 폴더를 설정하십시오.

이름에 대시가 포함된 ".PDF" 확장자를 가진 파일만 이동됩니다. 대시가 2개 이상인 경우 첫 번째 대시와 두 번째 대시 사이의 부분만 사용됩니다.

오류(폴더 존재, 파일 존재 등)가 발생하면 스크립트가 실패합니다. 오류를 무시하려면 On Error Resume Next첫 번째 줄 앞에 줄을 추가하세요.

관련 정보