如何使PowerShell删除文件夹中所有.xls文件的整个行?

时间:2018-12-17 22:46:28

标签: powershell xls

我在一个文件夹中有.xls文件,我想用PowerShell来格式化每个文件,如下所示:

  • 删除第1行,并向上移动单元格
  • 删除第2行,并向上移动单元格
  • 再次删除第2行,并向上移动单元格
  • 最后,最后一次,删除第2行,并向上移动单元格

实际上,我要删除第1行,然后删除第2行三次。我想用原始文件名保存每个文件,然后关闭并退出。

这就是我所拥有的:

Name    Time    in    out



Miami   07:00   50    100

这就是我想要的:

Name    Time    in    out
Miami   07:00   50    100

这是正确的脚本(在得到其他人的好评后):

$excel = New-Object -ComObject "Excel.Application"
$excel.DisplayAlerts = $false
$excel.Visible = $false
$localPath = (Get-Location).ToString()
foreach ($file in Get-ChildItem *.xls) {
    $wb = $excel.Workbooks.Open($file.FullName)
    $wb.WorkSheets.Item(1).Range("A3:A5").EntireRow.Delete() # deletes Rows 3,4,5
    $wb.WorkSheets.Item(1).Range("A1").EntireRow.Delete() # deletes Row 1
    $wb.SaveAs($localPath + "\" + $file.Name)
    $wb.Close($true)
}
$excel.Quit()
[void][Runtime.Interopservices.Marshal]::ReleaseComObject($excel)

0 个答案:

没有答案