powershell - Get-Content .csv 并将其用作路径名的变量
问题描述
我正在尝试使用 Get-Content 并创建一个变量,该变量将根据文件的每一行填写目录路径名。
我在 .csv 文件中有很长的用户列表,我想检查他们的每个用户名以获取目录大小。
如果我删除 $username 变量并在 $startdirectory 的末尾手动键入用户名,该脚本将起作用。
$username = Get-Content 'C:\Scripts\AvayaUsers.csv'
$startDirectory = '\\xx\xxxx\xxxxxxxxxxx\users\$username'
$directoryItems = Get-ChildItem $startDirectory | Where-Object {$_.PSIsContainer -eq $true} | Sort-Object
foreach ($i in $directoryItems)
{
$subFolderItems = Get-ChildItem $i.FullName -recurse -force | Where-Object {$_.PSIsContainer -eq $false} | Measure-Object -property Length -sum | Select-Object Sum
$i.FullName + " -- " + "{0:N2}" -f ($subFolderItems.sum / 1GB) + " GB"
}
解决方案
您告诉脚本基本上将整个$username分配为变量,并且您不会循环遍历它。
这意味着所有用户的整个变量都分配给$startDirectory。我很确定该脚本仅适用于 CSV 中的一个用户。
您需要循环使用CSV中包含的每个用户,然后在求和时获取文件大小。
推荐阅读
- python - 使用 GraphAPI 的 Facebook Messenger 对话的日期过滤器
- discord - 被 Discord 阻止的 Repli Discord 机器人
- postgresql - 如何从 postgres 的表中删除超过 90 天的记录
- php - 如何在php中从复活节日期减去1周
- amazon-web-services - API 网关 SQS 与 SendMessageBatch 的集成
- colors - 有没有办法以严格的 RGB 格式表示 Alpha 通道值?
- python - 在 tkinter 赋值之前引用的局部变量
- powershell - PowerShell DbaTools 将 Hashtable 传递给 Invoke-DbaQuery
- stackblitz - 无法在 StackBlitz 上登录 Firebase
- python - 如何将 pandas 函数从一列函数扩展到多列函数