#author("2018-10-26T21:15:32+09:00","","") #navi(../) * ディレクトリのみ、ファイルのみの一覧を表示する方法 [#f5ba04fe] PowerShellでディレクトリのみ、ファイルのみの一覧を表示する実行例を以下に記します。 #contents #htmlinsertpcsp(win-top.html,win-sp.html) * ディレクトリのみの一覧を表示する [#a0bd2c88] Get-ChildItem, Where-Objectコマンドレットを使うことにより、簡単にディレクトリのみを表示することができます。~ ディレクトリであることを判別する方法は、PSIsContainerとTest-Pathを使用して判別しています。 ** PSIsContainerを使用 [#b97b6ce6] ディレクトリの場合、PSIsContainerはTrueが返却されます。 Get-ChildItem * | Where-Object { $_.PSIsContainer } Where-Objectは?と記述することもできます。 Get-ChildItem * | ? { $_.PSIsContainer } ** Test-Pathコマンドレットを使用 [#t4daf2b9] Test-Pathの場合、-PathType containerを使用します。~ ディレクトリの場合はTrueが返却されます。 Get-ChildItem * | Where-Object { (Test-Path -PathType container $_) -eq $True } Where-Objectは?と記述することもできます。 Get-ChildItem * | ? { (Test-Path -PathType container $_) -eq $True } ** サブフォルダも対象にしたい場合 [#b8e2fdfe] サンプルは、Get-ChildItemの対象を*にしています。~ 必要に応じて*を確認したいパスに変更してください。~ サブフォルダも対象にしたい場合は、Get-ChildItemの-Recurseオプションを使用します。 Get-ChildItem -Recurse * | ? { $_.PSIsContainer } フルパスで表示したいのであれば、以下のようにできます。 Get-ChildItem -Recurse * | ? { $_.PSIsContainer } | % { $_.FullName } ** ディレクトリ数を確認したい [#dc7bfe45] 上記で取得したディレクトリ数を表示したい場合は、以下のようになります。 Get-ChildItem * | ? { $_.PSIsContainer } | Measure-Object 数字のみを取得 (Get-ChildItem * | ? { $_.PSIsContainer } | Measure-Object).Count サブフォルダも対象にしたい場合は、Get-ChildItemの-Recurseオプションを使用します。 * ファイルのみの一覧表示 [#r4cfd090] Get-ChildItem, Where-Objectコマンドレットを使うことにより、簡単にファイルのみを表示することができます。~ ファイルであることを判別する方法は、PSIsContainerとTest-Pathを使用して判別しています。 ** PSIsContainerを使用 [#u88ce0d2] ファイルの場合、PSIsContainerはFalseが返却されます。 Get-ChildItem * | Where-Object { ! $_.PSIsContainer } Where-Objectは?と記述することもできます。 Get-ChildItem * | ? { $_.PSIsContainer } ** Test-Pathコマンドレットを使用 [#ec74e759] Test-Pathの場合、-PathType containerを使用します。~ ファイルの場合はFalseが返却されます。 Get-ChildItem * | Where-Object { (Test-Path -PathType container $_) -eq $False } Where-Objectは?と記述することもできます。 Get-ChildItem * | ? { (Test-Path -PathType container $_) -eq $False } ** サブフォルダも対象にしたい場合 [#j65293e5] サンプルは、Get-ChildItemの対象を*にしています。~ 必要に応じて*を確認したいパスに変更してください。~ サブフォルダも対象にしたい場合は、Get-ChildItemの-Recurseオプションを使用します。 Get-ChildItem -Recurse * | ? { ! $_.PSIsContainer } フルパスで表示したいのであれば、以下のようにできます。 Get-ChildItem -Recurse * | ? { ! $_.PSIsContainer } | % { $_.FullName } ** ファイル数を確認したい [#qd08bb9a] 上記で取得したディレクトリ数を表示したい場合は、以下のようになります。 Get-ChildItem * | ? { ! $_.PSIsContainer } | Measure-Object 数字のみを取得 (Get-ChildItem * | ? { ! $_.PSIsContainer } | Measure-Object).Count サブフォルダも対象にしたい場合は、Get-ChildItemの-Recurseオプションを使用します。 * その他 [#l809d0ac] この資料では、以下のようにしてフルパスを取得しています。 $_.FullNmae または、以下のようにSelect-Objectでも可能です。~ ただし、ファイルに出力すると後ろにスペースがついていますので注意です。 Select-Object FullName 以上、Powershellでディレクトリ一覧のみ、ファイル一覧のみを表示する方法でした。~ #htmlinsertpcsp(win-btm.html,win-sp.html)