Powershell-查詢當前文件目錄層級結構

来源:https://www.cnblogs.com/wenzhongxiang/archive/2019/03/12/10519786.html
-Advertisement-
Play Games

日常工作中我們往往有需要導出當前共用環境或磁碟文件目錄層級結構等的需求,最早在目錄少的情況下我們使用CMD下tree 命令可以很清晰的看到目錄、文件層級結構,那麼我們又如何通過powershell直觀顯示或導出某文件目錄或盤符目錄層級結構呢?DOS下查看目錄、文件結構:tree /?以圖形顯示驅動器... ...


日常工作中我們往往有需要導出當前共用環境或磁碟文件目錄層級結構等的需求,最早在目錄少的情況下我們使用CMD下tree 命令可以很清晰的看到目錄、文件層級結構,那麼我們又如何通過powershell直觀顯示或導出某文件目錄或盤符目錄層級結構呢?

DOS下查看目錄、文件結構:

tree /?
以圖形顯示驅動器或路徑的文件夾結構。
TREE [drive:][path] [/F] [/A]
/F   顯示每個文件夾中文件的名稱。
/A   使用 ASCII 字元,而不使用擴展字元。

image


Powershell查看目錄、文件結構:

其實我們通過powershell命令也可以搭配tree命令使用,簡單操作如下:

Get-ChildItem D:\SW_Office_Plus |tree /f
Get-ChildItem D:\SW_Office_Plus |tree /A

Get-ChildItem :獲取一個或多個指定位置中的項和子項。

獲取當前目錄下文件夾名稱:

Get-ChildItem D:\SW_Office_Plus | ?{$_.psiscontainer -eq $true}

獲取當前目錄下文件名稱:
Get-ChildItem D:\SW_Office_Plus | ?{$_.psiscontainer -eq $false}

image

接下來進入我們今天的主題內容,如何查看當前目錄下文件層級,具體命令如下:

Get-ChildItem -Recurse -Directory -Depth 3 |select FullName

Get-ChildItem D:\SW_Office_Plus  -Recurse -Directory -Depth 3 |select Fullname

image

如果需要對結果進行導出,可通過如下命令操作:

Get-ChildItem -Recurse -Directory -Depth 3 |select FullName | Export-Csv d:\fullname.csv -Encoding UTF8 –NoTypeInformation


PS.補充:導出文件、文件目錄名稱、創建時間、格式等等信息:

Get-ChildItem -Path D:\SW_Office_Plus -Recurse |`
foreach{
$Item = $_
$Type = $_.Extension
$Path = $_.FullName
$ParentS = ($_.Fullname).split("\")
$Parent = $ParentS[@($ParentS.Length - 2)]
$ParentPath = $_.PSParentPath
$ParentPathSplit = ($_.PSParentPath).split("::")
$ParentPathFinal = $ParentPathSplit[@($ParentPathSplit.Length -1)]
#$ParentPath = [io.path]::GetDirectoryName($myDirectory)
$Folder = $_.PSIsContainer
$Age = $_.CreationTime
$Path | Select-Object `
    @{n="Name";e={$Item}},`
    @{n="Created";e={$Age}},`
    @{n="Folder Name";e={if($Parent){$Parent}else{$Parent}}},`
    @{n="filePath";e={$Path}},`
    @{n="Extension";e={if($Folder){"Folder"}else{$Type}}},`
    @{n="Folder Name 2";e={if($Parent){$Parent}else{$Parent}}},`
    #@{n="Folder Path";e={$ParentPath}},`
    @{n="Folder Path 2";e={$ParentPathFinal}}`
}| Export-Csv d:\Folder.csv -Encoding UTF8 -NoTypeInformation

image

導出後格式如下,可自行篩選,該腳本內容具體可參考該link

image


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 問題 將 SignalR 集成到 ASP.NET Core MVC 程式的時候,按照官方 DEMO 配置完成,但使用 DEMO 頁面建立連接一直提示如下信息。 原始代碼: 原因 出現該問題的原因是由於 CORS 策略設置不正確造成的,原始設置我是允許所有 Origin 來源。但是由於 dotnetC ...
  • split的使用: 1、使用char()字元分隔:根據單個的char()類型的進行分隔 代碼如下: 2、利用多個字元來分隔字元串 代碼如下: 3、用字元串進行分隔 使用字元串進行分隔需要藉助C#的正則表達式,也就是需要使用Regex類。在Regex的Split方法中:第一個參數為需要分隔的字元串、第 ...
  • string類型不能被繼承,它是密封類,sealed。 一、字元串的特性。 1、不可變性。 2、字元串池。 二、常用方法。 方法不一一寫出來了。 tringbuilder的使用。 大量拼接字元串的時候用。效率比string高。使用: ...
  • 一. MVC介紹 MVC架構模式有助於實現關註點分離。視圖和控制器均依賴於模型。 但是,模型既不依賴於視圖,也不依賴於控制器。 這是分離的一個關鍵優勢。 這種分離允許模型獨立於可視化展示進行構建和測試。ASP.NET Core MVC 包括以下功能: 路由、模型綁定、模型驗證、依賴關係註入、篩選器、 ...
  • 通過前面的教程學習,你可以實現一個簡單的書籍管理系統。 在本教程將向書籍索引頁中添加分頁功能。 ...
  • 0X00 前言 Newtonsoft.Json,這是一個開源的Json.Net庫,官方地址:https://www.newtonsoft.com/json ,一個讀寫Json效率非常高的.Net庫,在做開發的時候,很多數據交換都是以json格式傳輸的。而使用Json的時候,開發者很多時候會涉及到幾個 ...
  • 我基本上從0開始學習編程,運算符基本上跳過,因為知道了 “=”這個符號相當於賦值,然後“==”才是等於,其他和普通運算符號差不都,也就跳過了。 最基礎的賦值那種,我看了下代碼,似乎沒什麼難度,估計新手和我一樣,有一本書,大概看看就懂了,我從我遇到的問題開始。 我學習時候,發現C#接收用戶輸入的都是字 ...
  • 一 互聯網應用質量概述1.1 互聯網應用質量互聯網應用質量指標——QoE,其主要指標:服務成功率:指用戶所請求的服務成功完成的幾率。服務建立時間:指從服務請求到服務呈現所花費的時間,並且會因為用戶請求服務內容的不同而表現出微妙到秒級的區別。時延:指用戶從發出請求到獲得結果的時間。視聽播放卡頓:指播放... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...