我试图在PowerShell中编写一个脚本,该脚本读取了一个" foreach"循环包含"示例"的特定文件夹中的所有唯一文件以它的名字命名。 问题是我试图在变量中保存每个文件的内容而没有任何成功。试图使用 Get-Content $ file ,它会引发以下错误" 获取内容:无法找到路径"即使路径设置在文件夹 var的开头,文件实际上包含我需要的文件。我无法将其分配给 $ FileContent
$Folder = Get-ChildItem U:\...\Source
foreach($file in $Folder)
{
if($file.Name -Match "example")
{
$FileContent = Get-Content $file
}
}
答案 0 :(得分:7)
这是因为FileInfo对象的默认行为只返回文件的名称。也就是说,没有路径信息,因此Get-Content
尝试从当前目录访问该文件。
使用FileInfo' FullName
属性来使用绝对路径。像这样,
foreach($file in $Folder)
{
...
$FileContent = Get-Content $file.FullName
答案 1 :(得分:1)
将您的工作目录更改为U:\...\Source
然后它将起作用。
使用
cd U:\...\Source
$folder = gci U:\...\Source
完成工作后,可以使用cd
命令或push-location
cmdlet重新更改工作目录。
答案 2 :(得分:0)
试试这个:
Get-ChildItem U:\...\Source -file -filter "*example*" | %{
$FileContent = Get-Content $_.fullname
}