我正在尝试编写一个PowerShell脚本,它将遍历C:\
驱动器中的目录,并将文件扩展名解析为另一个要使用的脚本。
基本上,目录列表的输出应该可以被逐个解析到另一个脚本。该脚本是一个编译脚本,需要解析一个参数(参数)才能编译特定的模块(文件名)。
代码:
Clear-Host $Path = "C:\SandBox\"
Get-ChildItem $Path -recurse -force | ForEach { If ($_.extension -eq ".cob")
{
Write-Host $_.fullname
}
}
If ($_.extension -eq ".pco")
{
Write-Host $_.fullname }
}
答案 0 :(得分:0)
您不需要将输出解析为文本,不推荐使用。
这里有一些可能对你有用的东西:
# getmyfiles.ps1
Param( [string])$Path = Get-Location )
dir $Path -Recurse -Force | where {
$_.Extension -in @('.cob', '.pco')
}
# this is another script that calls the above
. getmyfile.ps1 -Path c:\sandbox | foreach-object {
# $_ is a file object. I'm just printing its full path but u can do other stuff eith it
Write-host $_.Fullname
}
答案 1 :(得分:-1)
Clear-Host
$Path = "C:\Sandbox\"
$Items = Get-ChildItem $Path -recurse -Include "*.cob", "*.pco"
从你的乱码中我猜你想要返回一个包含.cob和.pco文件扩展名的文件列表。您可以使用上面的代码来收集这些代码。
$File = $Items.name
$FullName = $items.fullname
Write-Host $Items.name
$File
$FullName
添加上述行将允许您以各种方式显示它们。您可以选择满足您需求的那个,然后在for-each上循环遍历它们。
作为一项规则,它不是为您编写代码的地方,但您已尝试在问题中添加一些代码,因此我已经看了一下。有时你只是想要朝着正确的方向轻推。