zoukankan      html  css  js  c++  java
  • [PowerShell]列出檔案與資料夾的資訊

    在 Windows PowerShell 中,瀏覽磁碟機以及操控這些磁碟機上的項目,就跟使用檔案總管操控 Windows 實體磁碟機上的檔案和資料夾是類似的行為,只是一個要透過腳本,一個則是透過滑鼠。


    使用 Get-ChildItem 可取得資料夾目前所在之當層目錄中所有的項目,亦即該資料夾內所有的檔案和子資料夾。加上選擇性 Force 參數則可顯示檔案屬性是隱藏或系統的項目。若要顯示更內層所包含的項目,必須一併指定 Recurse 參數。例如,下面的命令會顯示 Windows PowerShell 磁碟機 C(等同於 Windows 實體磁碟機 C)根目錄的內容:
    Get-ChildItem -Force C: -Recurse | Out-Host -Paging

    Get-ChildItem 提供 PathFilterIncludeExclude 等參數來篩選項目,而這些參數通常都是依照名稱進行篩選的。因此通常都會搭配 Where-Object cmdlet,因為它可以依照項目的其他屬性,來進行複雜的篩選作業。


    例如,使用下面的指令可以找出 Program Files 資料夾內,上次修改日期是在 2009 年 4 月 10 日以後,且大小介於 2 MB 到 15 MB 之間的所有 .exe 可執行檔:
    $strInclude = "*.exe"
    Get-ChildItem -Path $env:ProgramFiles -Recurse -Include $strInclude |`
      Where-Object -FilterScript {`
        ($_.LastWriteTime -gt "2009-4-10") -and ($_.Length -ge 2MB) -and ($_.Length -le 15mb)} |`
        Format-Table Name, @{Label="Mbytes";Expression={ "{0:N2}" -f ($_.Length / 1Mb) }}, `
          LastWriteTime, CreationTime, Mode -AutoSize |`
        Out-Host -Paging
    現在來解說一下程式碼中的兩個關鍵指令。

    如同在 DOS 環境下一樣,在 Windows PowerShell 中也提供存取 Windows 環境變數的功能,以程式碼中的 $env:ProgramFiles 來說,就是顯示Program Files 環境變數的值。如果要顯示 WINDIR 環境變數的值,可在 Windows PowerShell 命令提示字元下,輸入下列命令:
    $env:windir
    


    @{Name="Mbytes";Expression={ "{0:N2}" -f ($_.Length / 1Mb) }} 是用來計算以 MB 為單位的檔案大小。在大括弧內,我們指定雜湊表的兩個元素:屬性 Label(在此是顯示成 Mbytes)與屬性 Expression(也就是將用來計算屬性值的指令碼區塊,在此是以將其大小除以 1MB,簡單地說,就是用 MB 為單位來顯示其大小,而 N2 是表示顯示到小數點之後 2 位)
  • 相关阅读:
    C语言 选择排序算法原理和实现 从数组中 找出最小的元素然后交换位置
    C语言十六进制转换成十进制:要从右到左用二进制的每个数去乘以16的相应次方
    pycharm的注册码,所有版本
    无法链接glew的解决办法-编译开源库出现: error LNK2001: 无法解析的外部符号
    删除文件是遇到“拒绝访问”的解决方法
    基类的析构函数写成virtual虚析构函数
    C++语言定义的标准转换
    VC中C++数值范围的确定
    SCI投稿过程总结、投稿状态解析、拒稿后对策及接受后期相关问答
    STL其他--<tuple>用法【C11】
  • 原文地址:https://www.cnblogs.com/cnsealine/p/3336037.html
Copyright © 2011-2022 走看看