CSVで出力とか簡単なので便利なのだけど、
$files = Get-ChildItem|?{!$_.PSIsContainer}|
Select-Object Name,
DirectoryName,
LastWriteTime
$files | ConvertTo-Csv -NoTypeInformation > test.csv
できれば、Accessデータベースに直接出力したいなと。
既に出力先が用意してあって
$dbName = 'E:\script\output.mdb'
$cnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=$dbName"
$files = Get-ChildItem E:\script -Recurse |
Where-Object{!($_.PSIsContainer)}
$adoCn = New-Object -ComObject ADODB.Connection
$adoRs = New-Object -ComObject ADODB.Recordset
$adoCn.Open($cnStr)
$adoRs.Open("select * from tblFiles",$adocn,3,3)
foreach($file in $files){
$adoRs.AddNew()
$adoRs.Fields.Item('FileName').Value = $file.Name
$adoRs.Fields.Item('Length').Value = $file.Length
$adoRs.Fields.Item('DirectoryName').Value = $file.DirectoryName
$adoRs.Fields.Item('LastWriteTime').Value = $file.LastWriteTime
$adoRs.Update()
}
$adoRs.Close()
$adoCn.Close()
だけど、32bitで動作させないとならない。だって、Jetだから。ACE14/64bitであればx64でもできるはず。
0 件のコメント:
コメントを投稿