运行bat出错,求帮助~

运行bat批处理(bat所在目录和子目录下生成超链接.xlsx文件),显示Get-ChildItem:找不到与参数名称“File”匹配的参数。
具体描述:如上,代码在window10下运行正常,在win7系统下cmd窗口显示错误。
代码:

@echo off
echo Creating Excel file...
powershell -Command "& { $dir = '%~dp0'; $excel = New-Object -ComObject Excel.Application; $workbook = $excel.Workbooks.Add(); $worksheet = $workbook.Sheets.Item(1); $worksheet.Cells.Item(1,1).Value2 = 'Filename'; $worksheet.Cells.Item(1,2).Value2 = 'Path'; $row = 2; Get-ChildItem -Path $dir -Recurse -File | ForEach-Object { $file = $_.FullName; $worksheet.Cells.Item($row,1).Value2 = $_.Name; $worksheet.Cells.Item($row,2).Value2 = $file; $linkLocation = \"'[\" + $file + \"]\"; $worksheet.Cells.Item($row,1).Hyperlinks.Add($worksheet.Cells.Item($row,1), $linkLocation); $row++; }; $workbook.SaveAs('%~dp0files.xlsx'); $excel.Quit(); }"
echo Done!

我的理解,在win10系统下运行bat文件正常,在win7系统下出错,是电脑缺少东西么?

参考ChatGPT的回答:因为在Windows 7中没有Get-ChildItem命令,这个修改后的脚本使用了Shell.Application来获取文件列表,会在与脚本相同的目录下创建一个名为files.xlsx的Excel文件,并在其中列出指定目录下的文件名和路径。
希望这个脚本有用:

@echo off
echo Creating Excel file...
powershell -Command "& { $dir = '%~dp0'; $excel = New-Object -ComObject Excel.Application; $workbook = $excel.Workbooks.Add(); $worksheet = $workbook.Sheets.Item(1); $worksheet.Cells.Item(1,1).Value2 = 'Filename'; $worksheet.Cells.Item(1,2).Value2 = 'Path'; $row = 2; $shell = New-Object -ComObject Shell.Application; $folder = $shell.NameSpace($dir); $files = $folder.Items(); foreach($file in $files) { $fileFullName = $file.Path; $fileName = $file.Name; $worksheet.Cells.Item($row,1).Value2 = $fileName; $worksheet.Cells.Item($row,2).Value2 = $fileFullName; $linkLocation = "'[" + $fileFullName + "]"; $worksheet.Hyperlinks.Add($worksheet.Cells.Item($row,1), $linkLocation); $row++; }; $workbook.SaveAs('%~dp0files.xlsx'); $excel.Quit(); }"
echo Done!