Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/twitter-bootstrap/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 在以指定字母开头的目录中递归列出文件_Powershell_Powershell 4.0 - Fatal编程技术网

Powershell 在以指定字母开头的目录中递归列出文件

Powershell 在以指定字母开头的目录中递归列出文件,powershell,powershell-4.0,Powershell,Powershell 4.0,我正试图通过PowerShell获取特定目录中的所有*.html文件。 文件夹结构如下所示: folder subfolder1 subfolder2 subfolder3 subfolder4 ... Get-ChildItem -Directory b* | Select -ExpandProperty FullName | % {Get-ChildItem $_\*.html} 子文件夹按字母顺序排列。存在从a到z的文件夹。现在我想获取文件夹中以字母b开头的所有.h

我正试图通过PowerShell获取特定目录中的所有
*.html
文件。 文件夹结构如下所示:

folder
  subfolder1
  subfolder2
  subfolder3
  subfolder4
  ...
Get-ChildItem -Directory b* | Select -ExpandProperty FullName | % {Get-ChildItem $_\*.html}
子文件夹按字母顺序排列。存在从a到z的文件夹。现在我想获取文件夹中以字母b开头的所有
.html
文件

我试过了

Get-ChildItem -Path *.html -Recurse -Force

这将提供所有文件夹中的所有
html
文件。但是如何限制路径,使其只检查以b开头的子目录?

我不确定这是否是最有效的,但您可以这样做:

folder
  subfolder1
  subfolder2
  subfolder3
  subfolder4
  ...
Get-ChildItem -Directory b* | Select -ExpandProperty FullName | % {Get-ChildItem $_\*.html}

或者,根据需要,您也可以执行
getchilditem-Directory b*-Recurse


您可能需要格式化
Get ChildItem$\ucode>,这取决于您希望输出的外观,因为默认情况下它会写入目录。

我不确定这是否是最有效的,但您可以这样做:

folder
  subfolder1
  subfolder2
  subfolder3
  subfolder4
  ...
Get-ChildItem -Directory b* | Select -ExpandProperty FullName | % {Get-ChildItem $_\*.html}

或者,根据需要,您也可以执行
getchilditem-Directory b*-Recurse


您可能需要根据您希望输出的外观设置
Get ChildItem$的格式,因为默认情况下它会写入目录。

*.html
->
b*.html
*.html
->
b*.html
(Get ChildItem-目录b*)。全名|%{Get ChildItem$\*.html}
将执行得更快。。。和递归
(Get ChildItem-Directory b*).fullname |%{Get ChildItem$|-recurse*.html}
我找到的最简单的方法是
get childitem b*-recurse*.html
,它可以放在括号中。fullname如果你希望这样,我确实测量了命令,它们在一棵大树上的执行几乎相同。从逻辑上讲,它的执行速度会更快,但仔细考虑后,由于处理块是第一个get子项,这取决于磁盘速度,因此您可能有一个非常有效的观点。不管怎样,奇怪的是,我发布的最后一个命令的速度只有原来的一半,即使没有管道。另外,在1循环中,measure命令不可靠,最好执行类似于
$measure=measure命令{1..100 | foreach{command to test}的操作$measure.millides/100
(Get ChildItem-目录b*)。fullname |%{Get ChildItem$\u\*.html}
将执行得更快。。。和递归
(Get ChildItem-Directory b*).fullname |%{Get ChildItem$|-recurse*.html}
我找到的最简单的方法是
get childitem b*-recurse*.html
,它可以放在括号中。fullname如果你希望这样,我确实测量了命令,它们在一棵大树上的执行几乎相同。从逻辑上讲,它的执行速度会更快,但仔细考虑后,由于处理块是第一个get子项,这取决于磁盘速度,因此您可能有一个非常有效的观点。不管怎样,奇怪的是,我发布的最后一个命令的速度只有原来的一半,即使没有管道。另外,在1循环中,measure命令不可靠,最好执行类似于
$measure=measure命令{1..100 | foreach{command to test}的操作$测量值为0.5毫秒/100