我的資料夾中有大約 100 個 pdf 文件,其名稱結構如下:
- 信用報告 - 谷歌公司
- 信用報告 - BP Plc
- 信用報告 - 蘋果公司
- 信用報告 - Saipem spa
等等等等。
是否有一個命令可以讓我新建立名稱如下的新資料夾:
- Google公司
- 英國石油公司
並移動相應的pdf
- 信用報告 - 谷歌公司
- 信用報告 - BP Plc
進入他們。
謝謝
(PS:我是第一次使用論壇,並且在論壇上遇到文字格式問題,所以請原諒任何奇怪的格式)
答案1
移動到資料夾.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”且名稱中帶有破折號的檔案。如果有多於 1 個破折號,則只使用第 1 個破折號和第 2 個破折號之間的部分。
如果發生任何錯誤(資料夾存在、文件存在等),腳本將失敗。如果您想忽略錯誤,請On Error Resume Next
在第一行之前新增行。