使用 PowerShell 遍历文件夹的内容

Using PowerShell to loop through the contents of a folder

我正在编写一个脚本,它将遍历我拥有的一个文件夹,并显示文件的名称。我面临的唯一问题是文件夹内有很多文件夹。示例(在测试上传文件夹中,还有三个文件和两个文件夹。这两个文件夹中有 3 个文件,另一个文件夹包含一个文件)我不确定如何继续循环,直到所有文件和每个文件夹都被阅读。

$Files = Get-ChildItem "C:\Users\HelloWorld\Documents\Test Upload"
 #write-host $Files
 
GetFolderContents($Files)

   
function GetFolderContents($Test){

    #$Sub = Get-ChildItem "C:\Users\HelloWorld\Documents\Test Upload$Test" 
    
    foreach($files in $Test){
         
         #check if folder or file
       if (! $files.PSIsContainer)
        {
        write-host "File"
        
        }
        else{
        
        write-host "Folder"
           #need to now loop through this folder and get its contents
        }
        
    }
}

-Recurse 开关参数与 Get-ChildItem 一起使用,使其递归枚举整个目录结构:

$Files = Get-ChildItem "C:\Users\HelloWorld\Documents\Test Upload" -Recurse