Board logo

标题: [问题求助] 求助PowerShell获取当前目录下的指定类型的文件 [打印本页]

作者: 小白龙    时间: 2024-4-24 11:20     标题: 求助PowerShell获取当前目录下的指定类型的文件

我想获取当前目录下的, 所有的*.exe, *.msi文件, 但是不包括子目录下的文件, 下面代码无效, 求路过大佬指导, 最好不要再用管道流下级筛选, 直接使用Get-ChildItem命令实现
  1. Get-ChildItem -Path . -Include *.exe, *.msi -rec -dep 1
复制代码

作者: aloha20200628    时间: 2024-4-24 11:45

本帖最后由 aloha20200628 于 2024-4-24 11:48 编辑

回复 1# 小白龙
  1. Get-ChildItem *.exe, *.msi
复制代码
或者
  1. dir *.exe,*.msi
复制代码

作者: 小白龙    时间: 2024-4-24 12:13

回复 2# aloha20200628


    多谢大佬指导, 有用

看来是我想复杂了, 没想到把修饰全去掉直接就可以了, 那-Filter 和-inclue 还有 -rec -dep的功能在这里为什么不适用了呢
作者: 小白龙    时间: 2024-4-24 12:16

本帖最后由 小白龙 于 2024-4-24 12:17 编辑

回复 2# aloha20200628


    对了怎样加上路径的参数呢? 我在参数前加了一个 . 会报错, 例如我想获取 $HOME\desktop下的文件
作者: aloha20200628    时间: 2024-4-24 14:30

回复 4# 小白龙
  1. Get-ChildItem $home\desktop\*.lnk
复制代码
或者
  1. dir $HOME\desktop\*.lnk
复制代码

作者: 小白龙    时间: 2024-4-24 18:07

回复 5# aloha20200628

下面这样确实可以了, 但是路径部分有重复, 感觉应该有更简单的
  1. Get-ChildItem $home\desktop\*.msi, $home\desktop\*.exe
复制代码

作者: aloha20200628    时间: 2024-4-24 19:54

回复 6# 小白龙
  1. Get-childItem $home\desktop\* -include *.exe, *.msi
复制代码

作者: 小白龙    时间: 2024-4-24 21:44

回复 7# aloha20200628


    我被这几个参数整晕了, 下面都不行, 谁能给个使用章法?

Get-childItem . -include *.exe, *.msi
Get-ChildItem . -Filter *.exe, *.msi
作者: aloha20200628    时间: 2024-4-24 22:33

回复 8# 小白龙

用-include参数的关键是要在路径后缀*通配符
  1. Get-childItem .\* -include *.exe, *.msi
复制代码
用-filter参数只能后随一个过滤类型
  1. Get-childItem . -filter *.exe
复制代码

作者: Five66    时间: 2024-4-24 22:39

花里胡哨的,自己手动判断一下不就行了
gci |?{$_.extension -match 'exe|msi'}

这种shell方式(命令行方式)的花样多,细节也多,记那么多,小心脑容量不够

还有使用方法,为啥不直接看官网的?
https://learn.microsoft.com/zh-c ... view=powershell-5.1




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2