人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VBスクリプトに関する再質問です。昨日、以下のハテナに対して、詳細なご回答をいただきました。

http://www.hatena.ne.jp/1086680518

ほぼ、私の希望とおりで、とても助かりました。しかし、質問の書き方が悪く、1点だけ、実現できていない機能があります。

実は、対象となるフォルダに対して、そのフォルダ配下にあるファイル群/ファイル群、全てのタイムスタンプを取得したかったのです。再帰的に階層をもぐっていく...と言うのでしょうか?

ご回答いただいたソースに対するアレンジでも構いませんし、別途、新規にスクリプトをご提示いただいてもOKです。ズバリのご回答を、お待ちしております。

すみませんが、以上、よろしくお願いいたします。


●質問者: Mugicha2004
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:VB すみません アレンジ スクリプト ズバリ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● voyage_blog
●10ポイント

http://www.hatena.ne.jp/

はてな

こんなんでもいいですかね?

cx20さんのにちょっと手入れています。

----

’ DirList.vbs

’ Usage : CScript //NoLogo DirList.vbs [dir]

’ Default [dir] = .

Dim fs, f, objArgs, str

Set fs = WScript.CreateObject(”Scripting.FileSystemObject”)

’引数が無ければカレントディレクトリ

’あれば第1引数からスキャンする

Set objArgs = WScript.Arguments

If objArgs.Count = 0 Then

str = ”.”

Else

str = objArgs(0)

End If

Set f = fs.GetFolder(str)

ScanFolder f ’フォルダ内の全てのフォルダについて処理する

Sub ScanFolder(f)

Dim subf

For Each subf In f.SubFolders

ScanFolder subf

Next

FileList(f)

End Sub

Sub FileList(folder)

Dim subFolder

For Each subFolder In folder.SubFolders

WScript.Echo _

subFolder.DateCreated & ” ” & _

subFolder.DateLastModified & ” ” & _

subFolder.DateLastAccessed & ” ” & _

”<DIR> ” & subFolder.Name

Next

Dim file

For Each file In folder.Files

WScript.Echo _

file.DateCreated & ” ” & _

file.DateLastModified & ” ” & _

file.DateLastAccessed & ” ” & _

file.Name

Next

end Sub

先の質問と同様に’や”は半角にしないといけませんが。


2 ● aki73ix
●10ポイント

http://www.atmarkit.co.jp/fwin2k/operation/command005/command01....

連載:Windows 2000コマンドライン徹底活用 第5回 スクリプト入門 (その3) -- 1.繰り返し処理

for /R %i in ( *.* ) do コマンド名 %i

でいいんじゃないでしょうか?(^^;

コマンド名に作ったScript名を入れればOKです

たとえば type を入れるとフォルダ内のファイルを再起的に出力します

◎質問者からの返答

ありがとうございます。試してませんが、この方法でも良さそうですね。

できれば、スクリプト1本にまとまっていると、うれしいです。そのようなソースを、期待しております。


3 ● cx20
●50ポイント

http://www.hondarer-soft.com/cx/pukiwiki/pukiwiki.php?Memo%2F200...

[hondarer-soft] to [cx20.main.jp]

↑ソースを添付しておきました。

’ FileList2.vbs

’ Usage : CScript //NoLogo FileList2.vbs

Main

Sub Main

Dim fso

Set fso = CreateObject(”Scripting.FileSystemObject”)

Dim folder

Set folder = fso.GetFolder(”.”)

ShowFolder folder

End Sub

Sub ShowFolder( folder )

WScript.Echo folder.Path & ” のディレクトリ”

Dim subFolder

For Each subFolder In folder.SubFolders

WScript.Echo _

subFolder.DateCreated & ” ” & _

subFolder.DateLastModified & ” ” & _

subFolder.DateLastAccessed & ” ” & _

”<DIR> ” & subFolder.Name

Next

Dim file

For Each file In folder.Files

WScript.Echo _

file.DateCreated & ” ” & _

file.DateLastModified & ” ” & _

file.DateLastAccessed & ” ” & _

file.Name

Next

For Each subFolder In folder.SubFolders

ShowFolder subFolder

Next

End Sub

◎質問者からの返答

cx20さま、何度もすみません。ありがとうございます!!

これで、完全です。実験に取り掛かることができます。

また、同様の質問をハテナすることがあるかもしれません。その際も、よろしくお願いいたしますね(^^♪

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ