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 位)
  • 相关阅读:
    存储过程与触发器的区别
    WebDriver基本操作入门及UI自动化练手页面
    第四章 TestNG测试用例分步解析(上)
    第三章 Webdriver Java API简介(下)
    第三章 Webdriver Java API简介(上)
    第二章 TestNG环境搭建
    第一章 TestNG框架自动化简述
    基于Selenium2和TestNG的自动化测试
    程序员都应该知道的福利
    TestNG系列教程:并行执行测试
  • 原文地址:https://www.cnblogs.com/cnsealine/p/3336037.html
Copyright © 2011-2022 走看看