http://www.hatena.ne.jp/1086680518
ほぼ、私の希望とおりで、とても助かりました。しかし、質問の書き方が悪く、1点だけ、実現できていない機能があります。
実は、対象となるフォルダに対して、そのフォルダ配下にあるファイル群/ファイル群、全てのタイムスタンプを取得したかったのです。再帰的に階層をもぐっていく...と言うのでしょうか?
ご回答いただいたソースに対するアレンジでも構いませんし、別途、新規にスクリプトをご提示いただいてもOKです。ズバリのご回答を、お待ちしております。
すみませんが、以上、よろしくお願いいたします。
こんなんでもいいですかね?
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
先の質問と同様に’や”は半角にしないといけませんが。
http://www.atmarkit.co.jp/fwin2k/operation/command005/command01....
連載:Windows 2000コマンドライン徹底活用 第5回 スクリプト入門 (その3) -- 1.繰り返し処理
for /R %i in ( *.* ) do コマンド名 %i
でいいんじゃないでしょうか?(^^;
コマンド名に作ったScript名を入れればOKです
たとえば type を入れるとフォルダ内のファイルを再起的に出力します
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さま、何度もすみません。ありがとうございます!!
これで、完全です。実験に取り掛かることができます。
また、同様の質問をハテナすることがあるかもしれません。その際も、よろしくお願いいたしますね(^^♪
ありがとうございます。試してませんが、この方法でも良さそうですね。
できれば、スクリプト1本にまとまっていると、うれしいです。そのようなソースを、期待しております。