Here's a vbscript to do what you need:
option explicit
CONST PRN_FLD=False
Dim oF
Dim rWMI
Dim regEx
Set oF=CreateObject("Scripting.FileSystemObject")
set rWMI=GetObject("winMgmts:")
If Err <> 0 Then
WScript.Echo "NO WMI.." & Err.Description
WScript.Quit
End If
Set regEx=New RegExp
Call Main
Set oF =Nothing
set rWMI=Nothing
Sub Main ()
Dim sFold
Dim sType
Dim sA
Dim sMch
If WScript.Arguments.Count=0 Then
sFold=oF.GetAbsolutePathName(".")
Else
sA=WScript.Arguments(0)
If InStr(sA, "*") > 0 Or InStr(sA, "?") > 0 Then
sMch=FixRX(StrReverse(Left(StrReverse(sA), InStr(StrReverse(sA), "\") - 1)))
sFold=oF.GetParentFolderName(WScript.Arguments(0))
Else
sFold=oF.GetAbsolutePathName(sA) sMch=FixRX("*.*")
End if
End If
regEx.Pattern=sMch
regEx.IgnoreCase=True
Call ShowFiles (sFold)
End Sub
Function ShowFiles(sCurFld)
Dim oFld
Dim csFlds
Dim oSFld
Dim cFls
Dim oFl
Set oFld=oF.GetFolder(sCurFld)
Set csFlds=oFld.SubFolders
Set cFls=oFld.Files
For Each oFl In cFls
If regEx.Test(oFl.Name) Then
wscript.echo oFl.Path & vbTab & oFl.Size & vbTab & oFl.DateLastModified & VBTab & FlOwn(oFl.Path )
End If
Next
For Each oSFld In csFlds
If PRN_FLD Then
wscript.echo oSFld.Path
End If
ShowFiles oSFld.Path
Next
End Function
Function FlOwn(sFl)
Dim sQ
Dim cOwn
Dim rI
sQ="ASSOCIATORS OF {Win32_LogicalFileSecuritySetting='" & sFl & "'} WHERE AssocClass=Win32_LogicalFileOwner ResultRole=Owner"
set cOwn=rWMI.ExecQuery(sQ)
For Each rI In cOwn
If Err=0 Then
FlOwn=rI.AccountName
Else
FlOwn=""
End If
Next
Set cOwn=Nothing
End function
Function FixRX(strDOS)
Dim sT
sT=strDOS
sT=Replace(sT,".","\.")
sT=Replace(sT,"?",".")
strTemp=Replace(sT,"*",".?")
FixRX=sT
End Function