PowerShell中按文件后缀过滤的实现代码_PowerShell

小编在使用PowerShell时,经常要使用Get-ChildItem(别名为dir),去获取一些文件或目录。然后要对这些结果按文件类型,即文件后缀去进行筛选。很多次这样的工作做下来,小编觉得烦了,有没有简单的、一劳永逸的方法呢?我们今天就来探讨。

不卖关子了,先给一个Filter代码,大家先过目一下:

复制代码 代码如下:

Filter Where-Extension
{
   param
   (
       [String[]]
       $extension = ('.png', '.jpg', '.gif')
   )
  
   $_ |
   Where-Object {
       $extension -contains $_.Extension
   }
}

什么是Filter呢,这么讲吧,跟函数差不多,只不过是放在管道之后的。所以在Filter里面会看到“$_ |”这样的标记。这个Filter要求传入一个数组参数,那就是后缀列表。如果不传,那默认就筛选.png,.jpg和.gif。
好了,看看怎么使用的。

我想筛选中d盘根目录下所有.txt或.log这样的文本文件,PowerShell脚本这样写:

复制代码 代码如下:

dir d:\ | Where-Extension .txt,.log

大家可以跟小编一下,把这个Filter放到profile里面去,这样每次调用就不用再定义而直接使用了。啊?你不知道什么是profile?那就去看看这篇文章吧。

时间: 2024-10-01 00:25:54

PowerShell中按文件后缀过滤的实现代码_PowerShell的相关文章

js获取判断上传文件后缀名的示例代码

 本篇文章主要是对js获取判断上传文件后缀名的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助  代码如下: function lastname(){  //获取欲上传的文件路径 var filepath = document.getElementById("file1").value;  //为了避免转义反斜杠出问题,这里将对其进行转换 var re = /(+)/g;  var filename=filepath.replace(re,"#");

php更改目录及子目录下所有的文件后缀扩展名的代码_php技巧

不是很经常处理文件,所以对遍历目录还不是很熟悉,找了一下资料,自己修改一下. 让大家看看是否需要完善的 代码主要的目的是 批量更改 文件后缀 由于淘宝数据包图片类型的不同 所以要改一下适合的. 复制代码 代码如下: <?php //本文件和要改变的目录下的文件 放在同一文件夹下 define("STA",".gif");//原来的文件格式 define("END",".jpg");//要改变的格式 $dir="

PowerShell中使用Get-Alias命令获取cmdlet别名例子_PowerShell

PowerShell中为了与原来的cmd命令保持兼容,特别为很多cmdlet设置了别名.这些别名跟cmd命令是同名的,但它代表着一个PowerShell中的cmdlet.比如dir这个cmd命令,它用于列出一个目录下的子文件夹和文件,在PowerShell有一个Get-ChildItem的cmdlet,它的作用也是列出一个目录下的子文件夹和文件,于是微软就给Get-ChildItem设置了一别名叫dir. 在PowerShell中,使用Get-Alias这个cmdlet,可以列出所有的别名,以及

PowerShell中获取当前运行脚本路径的方法_PowerShell

在运行脚本的时候,有时候需要通过脚本文件所在位置的相对路径来做一些事,比如执行另一个脚本.以前在CMD时代,可以通过%~dp0来获取脚本所在的文件夹,那在PowerShell中要怎么做呢? 很简单,通过内置的$MyInvocation变量: 复制代码 代码如下: $x = $MyInvocation.MyCommand.Definition 此时$x的值是当前运行中的脚本的绝对路径,再用Split-Path取它的父路径就可以了: 复制代码 代码如下: $x = Split-Path -Paren

Python中的文件和目录操作实现代码_python

本文将详细解释这些函数的使用方法.首先,我们介绍Python语言中类似于Windows系统的dir命令的列出文件功能,然后描述如何测试一个文件名对应的是一个标准文件.目录还是链接,以及提取文件大小和日期的方法.之后,我们还将介绍如何删除文件和目录,如何复制和删除文件,以及怎样将一个完整的文件路径分解成目录部分和文件名部分,最后,我们讲解目录的创建,以及如何在目录树中移动目录并处理文件. 一.显示目录内容 当我们想要列出当前目录中所有扩展名为.jpg或.gif的文件的时候,就可以使用glob模块来

PowerShell中使用正则表达式跨行匹配字符串的方法_PowerShell

本文介绍在PowerShell中当使用正则表达式时遇到多行字符串,如何进行跨行匹配的问题. PowerShell中使用正则表达式来匹配搜索字符串是非常常用的一个操作.但如果遇到一个字符串有多行时,常规的正则表达式,无法正常工作. 不信请看: 复制代码 代码如下: PS C:\Users\spaybow> "1111`n2222" -match "^1.*2$" False PS C:\Users\spaybow> "1111`n2222&quo

PowerShell中定义多行字符串变量的方法_PowerShell

本文介绍PowerShell中如何定义一个跨多行的字符串变量,定义多行字符串时使用@"开始,使用"@结束. 有没有遇到这样一种情况,我们想创建一个变量来保存一个跨行的字符串. 是不是对怎么输入很头疼啊?其它编程语言有没有办法我不知道,但在PowerShell中,有一个很简单的办法,那就是使用@字符. 举例如下: 复制代码 代码如下: $str = @" 字符串的第1行 字符串的第2行 -- 字符串的第n行 "@ 注意在"@""之后,不要

PowerShell中调用WPF生成炫酷窗口实例_PowerShell

怎样在PowerShell中调用WPF,你知道,我也知道:怎样在PowerShell中将很长的.NET类型名称缩短成别名,你知道,我也知道.但是怎样将这两个知识点融汇贯通,写出一个优雅的DEMO,并且让你一眼就能看出,这就是WPF,不是别的,也许你以前就知道,而我直到今天才知道,有种相见恨晚的感觉. 先看一下炫酷的效果吧! PowerShell之WPF炫酷 # Plik: 4_Demo_v3_Reflection.ps1 #requires -version 3 $Akceleratory =

php中获取文件后缀名多种方法

一,php explode函数,函数用法参考 http://www.111cn.net/phper/24/f486bb8b0528a628528530b295e6281b.htm  代码如下 复制代码 $pic = 'abc.php'; $pics = explode('.' , $pic); echo $num = count($pics); echo '<br>'.$pics[$num-1]; 这样就可以输出 .php了. 下面利用foreach  此函数用法 http://www.111