使用 XML 文件在 PowerShell 中创建项目列表
Create list of items in PowerShell using XML file
我有一个 XML 文件,其中放有文件。我的目标是让 PowerShell 脚本显示所有文件及其属性的列表。
我的XML文件:
<FileList>
<File>
<Path>C:\File1.txt</Path>
<MaxSize>20000</MaxSize>
</File>
<File>
<Path>C:\File2.txt</Path>
<MaxSize>20000</MaxSize>
</File>
</FileList>
我在 PowerShell 中的输出需要检索文件及其大小。
示例输出:
File1: 4mb (max size= 20000mb)
File2: 3mb (max size= 20000mb)
稍后,我想创建一个方法来检查每个文件是否低于其最大大小(但首先我当然需要检查是否可以检索它们)
我正在尝试找到一种方法,可以将 XML 中的所有文件转换为 PowerShell 中的列表或(文件)数组,但没有成功。尝试实现此目标时的最佳做法是什么?
当前代码:
$files = $configFile.SelectNodes("FileList/File")
foreach ($file in $files) {
Write-Host $file.Path
}
break
根据您的 XML 数据和文件属性创建自定义对象,并在变量中收集对象,例如像这样:
$list = foreach ($file in $files) {
$f = Get-Item $file.Path
New-Object -Type PSObject -Property @{
Name = $f.Name
Path = $file.Path
Size = $f.Length
MaxSize = [int]$file.MaxSize
}
}
或者您可以将 calculated properties 添加到 FileInfo
个对象:
$list = foreach ($file in $files) {
Get-Item $file.Path | Select-Object *,@{n='MaxSize';e={[int]$file.MaxSize}}
}
我有一个 XML 文件,其中放有文件。我的目标是让 PowerShell 脚本显示所有文件及其属性的列表。
我的XML文件:
<FileList>
<File>
<Path>C:\File1.txt</Path>
<MaxSize>20000</MaxSize>
</File>
<File>
<Path>C:\File2.txt</Path>
<MaxSize>20000</MaxSize>
</File>
</FileList>
我在 PowerShell 中的输出需要检索文件及其大小。
示例输出:
File1: 4mb (max size= 20000mb) File2: 3mb (max size= 20000mb)
稍后,我想创建一个方法来检查每个文件是否低于其最大大小(但首先我当然需要检查是否可以检索它们)
我正在尝试找到一种方法,可以将 XML 中的所有文件转换为 PowerShell 中的列表或(文件)数组,但没有成功。尝试实现此目标时的最佳做法是什么?
当前代码:
$files = $configFile.SelectNodes("FileList/File")
foreach ($file in $files) {
Write-Host $file.Path
}
break
根据您的 XML 数据和文件属性创建自定义对象,并在变量中收集对象,例如像这样:
$list = foreach ($file in $files) {
$f = Get-Item $file.Path
New-Object -Type PSObject -Property @{
Name = $f.Name
Path = $file.Path
Size = $f.Length
MaxSize = [int]$file.MaxSize
}
}
或者您可以将 calculated properties 添加到 FileInfo
个对象:
$list = foreach ($file in $files) {
Get-Item $file.Path | Select-Object *,@{n='MaxSize';e={[int]$file.MaxSize}}
}