我有一个深度为 2 个文件夹的目录结构(例如folder1/folder1/file1.txt
,folder1/folder2/file1.txt
等等)。我需要递归遍历目录结构以提取文本文件的所有数据并将它们放在上面文件夹中的一个大文本文件中。命令是:
Get-Content .\*\*\*.txt | Out-File ..\whole.txt
这是该命令的错误:
Get-Content : An object at the specified path .\*\*\*.geojson does not exist, or has been filtered by the -Include or
-Exclude parameter.
At line:1 char:1
+ Get-Content .\*\*\*.geojson | Out-File ..\whole_us.geojson
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (System.String[]:String[]) [Get-Content], Exception
+ FullyQualifiedErrorId : ItemNotFound,Microsoft.PowerShell.Commands.GetContentCommand
如何指定通配符路径?
答案1
有一个深度为 2 个文件夹的目录结构(例如 folder1/folder1/file1.txt、folder1/folder2/file1.txt 等)。我需要递归遍历目录结构以提取文本文件的所有数据并将它们放在上面文件夹中的一个大文本文件中。命令是:
获取内容 .***.txt | 输出文件 ..\whole.txt
这是该命令的错误:
Get-Content : 指定路径 .***.geojson 处的对象不存在,或已被 -Include 或 -Exclude 参数过滤。位于行:1 字符:1
如何指定通配符路径?
正如在评论对于您的问题,输入文件的文件扩展名似乎与实际存在的文件的文件扩展名不匹配。这意味着您的语法不正确。-PATH 参数的描述如下:
指定 Get-Content 获取内容的项的路径。允许使用通配符。路径必须是项的路径,而不是容器的路径。例如,必须指定一个或多个文件的路径,而不是目录的路径。
您可能想运行以下命令。
Get-Content -PATH .\*\*\*.txt | Out-File ..\whole.txt
参数获取内容记录如下:
Get-Content
[-ReadCount <Int64>]
[-TotalCount <Int64>]
[-Tail <Int32>]
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-Delimiter <String>]
[-Wait]
[-Raw]
[-Encoding <Encoding>]
[-AsByteStream]
[-Stream <String>]
[<CommonParameters>]