あるフォルダの中に入っている、全てのサブフォルダ及びファイルの名前をリストにする方法はないでしょうか。出来ればエクセルに出力したいと考えています。進呈ポイントは、私の過去の支払ポイントと同等です。

回答の条件
  • 1人2回まで
  • 登録:2007/04/19 11:28:44
  • 終了:2007/04/21 03:44:12

ベストアンサー

id:grand_majesty No.1

grand_majesty回答回数37ベストアンサー獲得回数42007/04/19 11:33:09

ポイント500pt

ファイルリスト作成機

http://www.vector.co.jp/soft/win95/util/se082901.html

このソフトを使うことでかなりの情報がCSV形式で出力できます。

CSV形式ならばExcelで開いて整形しやすいと思いますがいかがでしょうか?

その他の回答(4件)

id:grand_majesty No.1

grand_majesty回答回数37ベストアンサー獲得回数42007/04/19 11:33:09ここでベストアンサー

ポイント500pt

ファイルリスト作成機

http://www.vector.co.jp/soft/win95/util/se082901.html

このソフトを使うことでかなりの情報がCSV形式で出力できます。

CSV形式ならばExcelで開いて整形しやすいと思いますがいかがでしょうか?

id:Baku7770 No.2

Baku7770回答回数2832ベストアンサー獲得回数1812007/04/19 11:42:37

ポイント400pt

 http://www.vector.co.jp/soft/win95/util/se247619.html

 フリーソフトですが、LSを使うと簡単にできます。CSV形式を指定すれば、Excelに簡単に読み込めます。

 ファイルがMS-OFFICE文書だと

http://www.vector.co.jp/soft/win95/util/se082901.html

のファイルリスト作成機の方が色々な属性情報を取得できます。ただ上記のLSと比べると遅いです。

id:wm5775 No.3

wm5775回答回数351ベストアンサー獲得回数42007/04/19 11:45:30

ポイント200pt

#Windowsでいいんですよね?

  1. コマンドプロンプトを開く
  2. cd <ディレクトリ名> で、調べたいディレクトリに移動する。
  3. dir /s > list.txt

とすれば、サブフォルダを含めた全部のファイルのリストが取得できます。

ちなみにエクセルで扱うのでなければ、dir /sの替わりに

  • tree

というコマンドを使ってみるのもなかなか有用です。

id:noguj No.4

noguj回答回数365ベストアンサー獲得回数182007/04/19 11:55:51

ポイント100pt

http://www.vector.co.jp/soft/win95/util/se380625.html

>Excelで指定フォルダの全ファイル・全サブフォルダのリストを作る

id:menbo_a No.5

menbo_a回答回数371ベストアンサー獲得回数82007/04/19 11:59:04

ポイント100pt

りすてぃんぐ♪

CSVに出力できます。

http://www.vector.co.jp/vpack/browse/pickup/pw6/pw006207.html

  • id:cryfish
    皆さん、いろいろな情報を有り難うございました。
    最終的にはファイルリスト作成機を使うことにしました。
    nogujさんの物も良かったんですが、バグが残っているのか、
    私の環境では一部不具合が有りました。それが無ければ
    こっちを使っていたのかもしれません。
    最終的には、一番情報が早かったgrand_majestyさんに
    最高ポイントとさせて頂きました。
    また、機会が有りましたら、よろしくお願いします。
  • id:llusall
    出遅れてしまったのですが、せっかく作ったので書かせてください。
    以下のスクリプトをメモ帳などで、[調査.vbs]などの名前でデスクトップに保存します。


    調査対象のフォルダをアイコンの上にドラッグ&ドロップするとエクセルにフォルダ名・ファイル名が表示されます。

    '------------------------------------------------
    '--ここから--------------------------------------
    '------------------------------------------------
    Option Explicit

    CONST FOLDER_KAKKO = 1 'フォルダ名に[]をつけるかどうか。1つける0つけない
    CONST MSG_TITLE = "フォルダ・ファイル名を列挙"

    Dim xl 'エクセル
    Dim fs
    Set fs = CreateObject("Scripting.FileSystemObject")

    Call Main()

    Set fs = Nothing

    '------------------------------------------------
    '---- メイン処理 -----------------------------
    '------------------------------------------------
    Sub Main()
    Dim objArgs
    Dim nArgCnt
    Dim folderName '指定されてたフォルダ名

    Err.Clear

    'コマンドライン引数の有無チェック
    Set objArgs = WScript.Arguments
    nArgCnt = objArgs.Count
    If nArgCnt <> 1 Then
    MsgBox "アイコンにフォルダをドラッグ&ドロップしてください。", vbExclamation, MSG_TITLE
    Exit Sub
    End If

    folderName = objArgs(0)

    If fs.FolderExists(folderName) Then
    Else
    'エラー
    MsgBox "フォルダが存在しません。[" & folderName & "]", vbCritical, MSG_TITLE
    Exit Sub
    End If

    'エクセルを起動
    On Error Resume Next
    Set xl = CreateObject("Excel.Application")
    If Err.Number <> 0 Then
    MsgBox "エクセルの起動に失敗しました。", vbCritical, MSG_TITLE
    Exit Sub
    End If

    '起動成功!! 非表示にする
    xl.Visible = False

    '新規ワークブック、シートの作成---------------
    xl.Workbooks.Add

    'セルの先頭へ
    xl.Cells(1, 1).Activate

    xl.ActiveCell.Value = "【チェックフォルダ】"& folderName
    xl.ActiveCell.Offset(1, 0).Activate

    '処理を実行
    Call CheckFolders(folderName)

    'エクセルの表示
    xl.Visible = True
    'リソースの解放
    Set xl = Nothing

    End Sub


    '------------------------------------------------
    '---- フォルダのチェック ---------------------
    '------------------------------------------------
    Sub CheckFolders(ByVal fldPath)
    Dim objFolder, objSubFolder
    Set objFolder = fs.GetFolder(fldPath)

    'フォルダ名を出力
    Dim fldName
    If FOLDER_KAKKO = 1 Then
    fldName = "[" & objFolder.Name & "]"
    Else
    fldName = objFolder.Name
    End If
    xl.ActiveCell.Value = fldName 'fldPath
    xl.ActiveCell.Offset(1, 0).Activate
    '書き出し位置を右に移動
    If objFolder.SubFolders.Count > 0 Then
    xl.ActiveCell.Offset(0, 1).Activate
    End If
    'このフォルダ中のすべてのサブフォルダをチェック
    For Each objSubFolder In objFolder.SubFolders
    Call CheckFolders(objSubFolder.Path)
    Next
    '書き出し位置を元に戻す
    If objFolder.SubFolders.Count > 0 Then
    xl.ActiveCell.Offset(0, -1).Activate
    End If
    'このフォルダ中のファイルを列挙
    Call CheckFiles(fldPath)
    End Sub

    '------------------------------------------------
    '---- ファイルのチェック ---------------------
    '------------------------------------------------
    Sub CheckFiles(ByVal fldPath)
    Dim objFolder, objFile
    Set objFolder = fs.GetFolder(fldPath)

    xl.ActiveCell.Offset(0, 1).Activate
    For Each objFile In objFolder.Files
    'フォルダ名を出力
    xl.ActiveCell.Value = objFile.Name
    xl.ActiveCell.Offset(1, 0).Activate
    Next
    xl.ActiveCell.Offset(0, -1).Activate

    End Sub
    '------------------------------------------------
    '--ここまで--------------------------------------
    '------------------------------------------------




  • id:cryfish
    早速使ってみましたが、なかなかいいですね。
    有り難う御座いました。
    お礼に300p差し上げたいのですが、直接贈る方法って
    今は無いのでしょうか?以前は有ったと思うのですが。
    無いようでしたら、llusall さん用に再度質問をたちあげます。
  • id:llusall
    ポイントは不要です。
    また機会がございましたらよろしくお願いします。
  • id:cryfish
    llusall さん。
    またご縁が有りましたら、よろしくお願いします。
    大変助かっております。
    ありがとうございました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません