Powershell 使用文件夹路径计算excel行数
我有一个名为客户的文件夹,根据每个客户的名称有多个文件夹,在每个客户下我有excel表格,表格中按行包含信息 我想将此文件结构提取到excel中,其中包含每个excel中包含的文件路径和行数 我可以使用下面的过程列出文件名Powershell 使用文件夹路径计算excel行数,powershell,Powershell,我有一个名为客户的文件夹,根据每个客户的名称有多个文件夹,在每个客户下我有excel表格,表格中按行包含信息 我想将此文件结构提取到excel中,其中包含每个excel中包含的文件路径和行数 我可以使用下面的过程列出文件名 按Win-E打开Windows资源管理器并找到需要文件列表的文件夹 按住Shift键,右键单击文件夹并选择此处打开命令窗口。这只适用于文件夹,而不适用于库。 库指向特定文件夹,因此请选择位于的文件夹 在库图标下。如果库指向驱动器,请右键单击 文件夹树中的驱动器号 键入不带引号
dir/b>dirlist.txt
,然后按Enter。这将创建一个仅包含文件名的列表。包括文件大小和
日期,改为键入dir>dirlist.txt
。将文件也包括在
子目录,键入dir/b/s>dirlist.txt
以创建目录列表
具有完整目录结构名称的文件,例如
C:\folder\subdirectory\file.txt请帮忙数数行。你的问题模棱两可。我删除了不必要/错误的标签。 Excel文件可以有多个工作表,因此您必须迭代/递归给定起始文件夹中的文件以及工作簿中的所有工作表。输出是一个具有所请求属性的表。应易于保存为csv
$BaseFolder = "X:\Path\to\Customers"
$xlCellTypeLastCell = 11
$AllSheets = New-Object System.Collections.Generic.List[object]
$Excel = New-Object -com excel.application
$Excel.DisplayAlerts = "False"
$XLfiles = Get-ChildItem -Path $BaseFolder -Filter *.xls* -File -Recurse
ForEach ($XLfile in $XLfiles) {
$WorkBook = $Excel.workbooks.open($XLfile.FullName)
for ($i = 1; $i -le $WorkBook.sheets.count; $i++){
$Sheet = $WorkBook.Sheets.Item($i)
$LastRow = $Sheet.UsedRange.SpecialCells($xlCellTypeLastCell).Row
$Obj = [pscustomobject][ordered]@{
ExcelFPath= $XLfile.FullName
Customer = ($XLfile.Directory).Name
ExcelFile = $XLfile.Name
SheetNo = $i
RowCount = $LastRow
}
$AllSheets.add($obj)
}
$Excel.Workbooks.Close()
}
$AllSheets | Format-Table -auto
## $AllSheets | Out-Gridview
到目前为止你试过什么?你有没有已经看过的示例代码或链接?Linux似乎不适合处理excel文件。StackOverflow是帮助人们修复现有代码。在这里发布更多Qs之前,请阅读、、和。祝你好运,非常好。这就是我读了很多关于Powershell的文章的力量。谢谢分享!祝大家好运。