フォルダを作成し、それぞれのファイルをそこに移動する

フォルダを作成し、それぞれのファイルをそこに移動する

次のような名前構造を持つフォルダーに約 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最初の行の前に行を追加します。

関連情報