掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ルート以下のフォルダで再帰処理がしたい (ID:63607)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
初めまして。 タイトルの通り、入力先のルートフォルダ以下の階層で 再帰処理を行いたいのですが、C/C++は今まで全く書いたことが なく、途方に暮れています。 とりあえず、このような処理がしたい、というのをVBAで書いては みたのですが、どのようにC/C++で書けばよいかわからないので、 どなたかお教えいただけないでしょうか? ちなみに、作成したVBAはこのような感じです。 Option Explicit 'グローバル変数 Dim fso As FileSystemObject Dim inputDirPath As String Dim outputDirPath As String Public Sub wordFinderProc() Dim rootFolder As Folder Set fso = CreateObject("Scripting.FileSystemObject") 'ここでのディレクトリパスは、本番ではフォルダ選択ダイアログで '選択したフォルダのパスが入るようにできればしたい。 '今はテストなので、決めうち。 inputDirPath = "Z:\pdfFulltextFiles\yuho" outputDirPath = "S:\pdfTextFiles\yuho" Set rootFolder = fso.GetFolder(inputDirPath) recurseTransactionProc rootFolder.SubFolders Set fso = Nothing End Sub 'ルートフォルダ以下を、再帰的に処理 Public Sub recurseTransactionProc(targetFolders As Folders) Dim targetFolder As Folder For Each targetFolder In targetFolders 'テキスト抽出ファイル作成先にフォルダがなければ、ここで作成する If fso.FolderExists(Replace(targetFolder.Path, inputDirPath, outputDirPath)) = False Then fso.CreateFolder Replace(targetFolder.Path, inputDirPath, outputDirPath) End If 'フォルダの中のファイルの有無を判別 If targetFolder.Files.Count > 0 Then 'PDFファイルの処理へ createTxtFileProc targetFolder.Files Else '下の階層へ recurseTransactionProc targetFolder.SubFolders End If Next End Sub 'PDFファイルの処理 Public Sub createTxtFileProc(targetPdfFiles As Files) Dim targetPdfFile As File For Each targetPdfFile In targetPdfFiles If InStr(1, targetPdfFile.Name, ".pdf") > 0 Then 'もしPDFファイルなら、PDFファイルの処理を行う End If Next End Sub 他人任せになってしまい、申し訳ないのですが、 どうか宜しくお願い致します。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.