次のような名前構造を持つフォルダーに約 100 個の PDF ファイルがあります。
- 信用レポート - Google Inc
- 信用レポート - BP Plc
- 信用レポート - Apple Inc
- 信用レポート - Saipem スパ
以下同様です。
次のような名前の新しいフォルダーを作成できるコマンドはありますか?
- Google Inc
- BP社
それぞれのPDFを移動する
- 信用レポート - Google Inc
- 信用レポート - BP Plc
彼らの中に。
ありがとう
(追記: 私は初めてのユーザーで、フォーラムでのテキストの書式設定に苦労していますので、変な書式があってもご容赦ください)
答え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
最初の行の前に行を追加します。