获取powershell以显示可在驱动器上找到某个文件的所有路径

Kdg*_*Dev 6 powershell

我正在尝试构建一个函数,它将向我显示某个文件名所在的所有路径.该函数将采用一个参数,即文件名.结果将是所有路径的列表,或者说系统上没有此类文件的消息.

我是Powershell的新手,我还没有得到语法.我试过这个:

Get-ChildItem -Path -Include notepad.exe
Run Code Online (Sandbox Code Playgroud)

但是这引发了错误信息.我正在尝试:

$i="notepad.exe"

Foreach ($i in Get-ChildItem c:\ -Recurse){echo -Path}
Run Code Online (Sandbox Code Playgroud)

从现在开始,它仍在运行,不知道会发生什么,真的.

编辑:回应了大量的线条,只是说"-Path"......

任何人都可以帮助解决这个问题吗?顺便说一句,我正在运行Powershell 1.0.

因此,为了解释在执行此命令时我希望看到的内容,以下是我在查找*.txt后所期望的示例:

C:/foo.txt
C:/A/foobar.txt
C:/A1/foo.txt

依此类推,列出我的硬盘上所有.txt文件的路径.只有路径,每行一个,不需要额外的信息.

EDIT2:

我做到了 对于那些在未来寻找这个问题的人,我要留下这个问题.

我使用的功能就是这个(这个具体的例子将为您提供硬盘上所有.zip文件的列表,在需要时进行编辑):

Get-ChildItem -Path c:\ -Include "*.zip" -Recurse -Force -Name > c:\listOfPaths.txt
Run Code Online (Sandbox Code Playgroud)

这在我的C:\文件夹中创建了一个名为listOfPaths.txt的文件,其中包含在我的硬盘驱动器的所有子文件夹中以.zip结尾的任何文件的所有出现的列表.

没有提到"c:\"位,但我不介意.

EDIT3:

感谢capar获得更完整的版本.

这是capar的代码(或者我是如何使用它的,因为Get-Children在1.0中不起作用)

Get-ChildItem -Path c:\ -Recurse *.txt | Select-Object -Property FullName
Run Code Online (Sandbox Code Playgroud)

Arn*_*nce 9

从星期五晚上开始,我决定和Power Shell一起玩,看看我是否可以提供帮助:)这非常接近你的要求我认为:

Get-ChildItem -Path c:\ -Recurse *.txt | Select-Object -Property FullName
Run Code Online (Sandbox Code Playgroud)

如果有帮助,此命令将列出将由Get-ChildItem返回的任何对象的属性:

Get-ChildItem | Get-Member
Run Code Online (Sandbox Code Playgroud)

  • 使用Get-ChildItem,它就像一个魅力.Awsome,谢谢你的帮助 (2认同)