Скрипт Windows для объединения файлов - PullRequest
0 голосов
/ 23 ноября 2011

Мне приходится работать с огромным количеством текстовых файлов. Я могу объединить файлы в один файл. Но у меня также есть использование имени файла в моей работе, и я хотел бы, чтобы оно было до текста самого файла в формате Excel, предпочтительно первый столбец должен содержать имена файлов, а впоследствии столбцы могут содержать данные.

Любая помощь будет оценена. Спасибо.

1 Ответ

1 голос
/ 23 ноября 2011

Вот скрипт 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()

Примечание: я не претендую на то, что он идеален, вам все равно нужно его отполировать и провести рефакторингэто, но по крайней мере это даст вам направление

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...