我必须使用大量的文本文件。我能够将文件合并为一个文件。但我也在工作中使用了文件名,我希望在excel格式的文件本身之前得到它,最好是第一列应该包含文件的名称,之后的列可以包含数据。
任何帮助将不胜感激。感谢。
答案 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()
注意:我不是假装它是完美的,你仍然需要抛光它并重构它,但至少它会给你指路