用于合并文件的Windows脚本

时间:2011-11-23 09:13:37

标签: windows powershell

我必须使用大量的文本文件。我能够将文件合并为一个文件。但我也在工作中使用了文件名,我希望在excel格式的文件本身之前得到它,最好是第一列应该包含文件的名称,之后的列可以包含数据。

任何帮助将不胜感激。感谢。

1 个答案:

答案 0 :(得分:1)

这是Powershell脚本。您可能需要稍微修改它以查找特定的文件扩展名,因为它现在只查找PS1文件

[System.Threading.Thread]::CurrentThread.CurrentCulture = New-Object System.Globalization.CultureInfo("en-US")

$excel = new-Object -comobject Excel.Application  
$excel.visible = $false  

$workBook = $excel.Workbooks.Add()
$sheet =  $workBook.Sheets.Item(1)  
$sheet.Name = "Files"
$sheet.Range("A1", "B1").Font.Bold = $true
$sheet.Range("A1","A2").ColumnWidth = 40
$sheet.Range("B1","B2").ColumnWidth = 100

$sheet.Cells.Item(1,1) = "Filename" 
$sheet.cells.Item(1,2) = "Content" 

$files = get-childitem C:\PST -recurse | where {$_.extension -eq ".ps1"}
$index = 2

foreach($file in $files)
{
    $sheet.Cells.Item($index,1) = $file.FullName
    $sheet.Cells.Item($index,2) = [System.IO.File]::ReadAllText($file.FullName)
    $index++
}

$workBook.SaveAs("C:\PST\1.xlsx")
$excel.Quit()

注意:我不是假装它是完美的,你仍然需要抛光它并重构它,但至少它会给你指路