getchilditemを誰よりも分かりやすく解説する【powershell】
Sal
powershell powershellのコマンドの一種。入力することでカレントディレクトリ配下のファイル、ディレクトリー覧を取得できる。

getchilditemを誰よりも分かりやすく解説する【powershell】

  1. getchilditemとは
  2. getchilditemで再帰的にフォルダーを探索する。
  3. getchilditemで再起的に探索する
  4. さらに詳しいGet-Childitemのヘルプ
  5. ディレクトリが空の時どのような挙動をするか
  6. パスを指定してファイルフォルダーを取得する
  7. ファイルの属性について ディレクトリー覧を取得した時にアルファベットでフラグがついていることがあるがそれは以下のような意味を表す
  8. getchilditemで名前のみ取得したい
  9. Get-Childitemで知れる全てのこと
  10. ファイル一覧を絶対パス(フルパス)で手に入れる
  11. getchilditemでワイルドカードを使いたい
getchilditemとは
## getchilditemとは
powershellのコマンドの一種。 入力することでカレントディレクトリ配下のファイル、ディレクトリー覧を取得できる。 実行例

Get-ChildItem
実行結果

ディレクトリ: 


Mode    LastWriteTime Length    Name
d-----  2021/08/28    3178      ModAuto 
-a----  2021/08/27    423       Start-Desktop.psm1
-a----  2021/08/27    425       Stop-AllProcess.psm1
## getchilditemで再帰的にフォルダーを探索する。
-Recurseを付けると再帰的にフォルダーを探索し、一覧表示することができる。
 
Get-ChildItem -Recurse
サンプルコマンド
 Get-ChildItem --Recurse 

TIL
EU:C:Users\REI¥ffmyworking\MyPowerShell
Mode
LastWriteTime
Length Name
-- -- - ---- - ----
2021/08/28 2021/08/27 2021/08/27
15:05 14:26 14:03
ModAuto 3178 Start-Desktop. psm1 425 Stop-ATI Process. psm1
T
E : C:\Users
Length Name
Mode
LastWriteTime ---- ----- 2021/08/28 15:05 - --
2021/08/28 15:04 
## getchilditemで再起的に探索する
-Depthを付けた後に深さを指定するとカレントディレクトリから指定した数までフォルダーに入り込んで探索する

Get-ChildItem -Depth 3
サンプルコード
 Get-ChildItem -Depth 3
実行結果

実行結果
以下膨大な量のフォルダー情報が出力される
#Get-Helpでコマンドの詳細を見る サンプルコード

Get-Help Get-ChildItem 
構文
 
Get-ChildItem [[-Path] <string[] >] [[-Filter] <string>] [<CommonParameters>] 
Get-Child Item [[-Filter] <tring>] [] 
エイリアス

gci
Is
dir
## さらに詳しいGet-Childitemのヘルプ
コマンドは以下のコマンドを入力
 
Get-Help Get-ChildItem -Online 
## ディレクトリが空の時どのような挙動をするか
空の時は何も表示しない これは再帰的な表示でも同じ
 
Get-ChildItem空のディレクトリは表示されません。 
ときにGet-ChildItemコマンドが含まれても
深さや再帰のパラメータを、空のディレクトリは出力に含まれません。 
引用: マイクロソフト公式ドキュメント
## パスを指定してファイルフォルダーを取得する
パスを指定するには-Pathオプションを使う サンプルコード

Get-ChildItem -Path C:\Test
加えてバージョンのまれる。
## ファイルの属性について ディレクトリー覧を取得した時にアルファベットでフラグがついていることがあるがそれは以下のような意味を表す

l (リンク) 
d(ディレクトリ) 
a (記録) 
r(読み取り専用) 
h(隠れた) 
s (システム)
 
ディレクトリ: C:\Users


Mode    LastWriteTime Length    Name
d-----  2021/08/28    3178      ModAuto 
-a----  2021/08/27    423       Start-Desktop.psm1
-a----  2021/08/27    425       Stop-AllProcess.psm1

## getchilditemで名前のみ取得したい
-Name で名前のみの取得が可能

Get-ChildItem -Path C:\Test -Name 
## Get-Childitemで知れる全てのこと
Get-Childitemによって得られるデータには以下の情報が含まれる フォルダーの場合
 
Name : ModAuto
(フォルダー名) CreationTime : 2021/08/28 10:22:03 
(作成時期) LastWriteTime : 2021/08/28 15:05:34
(最終更新日) LastAccessTime : 2021/08/28 15:05:34 
(モード=アクセス権限など) Mode : d-----
(リンクがあるかどうか) Link Type
ファイルの場合、フォルダーの情報に加えてバージョンの情報も含まれる
 
Name: Start-Desktop.psm1 (ファイル名) 
Length 3274 (ファイルサイズ) 
CreationTime : 2021/08/26 8:11:05 (作成時期) 
LastWriteTime : 2021/09/01 16:55:25(最終更新日) 
LastAccessTime : 2021/09/01 16:55:25(最終アクセス) 
Mode : -a----(モード) 
Link Type Target Version Info : File: C:\UMyPowerShell\Start-Desktop.psm1
InternalName: OriginalFilename: FileVersion: FileDescription: Product: ProductVersion: Debug:
False Patched:False
PreRelease: Private Build: Special Build:
False False False
## ファイル一覧を絶対パス(フルパス)で手に入れる

Get-ChildItem | Foreach-Object { echo $_.VersionInfo } | Select-Object Filename 

FileName
C:\Users\Start-Desktop.psm1 
C:\Users\Stop-AllProcess.psm1 
## getchilditemでワイルドカードを使いたい
Where-Objectを使おう 以下のコードは. psm1で終わるコード

Get-ChildItem  | Where-Object { $_.Name - like "*.psm1" } 
title:getchilditemを誰よりも分かりやすく解説する【powershell】 description:powershellのコマンドの一種。入力することでカレントディレクトリ配下のファイル、ディレクトリー覧を取得できる。 img:https://boeprox.files.wordpress.com/2016/01/image2.png category_script:page_name.startswith("16")