다음과 같은 이름 구조를 가진 폴더에 약 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
첫 번째 줄 앞에 줄을 추가하세요.