Power shell根据顺序循环子文件夹

Power shell根据顺序循环子文件夹,shell,powershell,Shell,Powershell,我想使用powershell循环所有子文件夹并运行其中的所有文件。但是,如果我的根目录包含3个子文件夹,我希望按照以下顺序循环并列出它:子文件夹C、子文件夹B和子文件夹A,以便文件执行将按照顺序(C-->B-->A)运行 下面是我的代码 Get-ChildItem -path "C:\Root\subfolders\" -recurse -Filter *.sql | foreach-object -process { $_.FullName }| ForEach-Object {

我想使用powershell循环所有子文件夹并运行其中的所有文件。但是,如果我的根目录包含3个子文件夹,我希望按照以下顺序循环并列出它:子文件夹C、子文件夹B和子文件夹A,以便文件执行将按照顺序(C-->B-->A)运行

下面是我的代码

Get-ChildItem -path "C:\Root\subfolders\" -recurse -Filter *.sql | foreach-object -process { $_.FullName }|
   ForEach-Object {
        sqlcmd -i $_
    }

尝试一下,获取C:\Root\subfolders的所有文件夹,找到的foreach文件夹递归获取其文件:

Get-ChildItem C:\Root\subfolders | 
Where-Object {$_.PSIsContainer} | 
Foreach-Object  {Get-ChildItem $_.FullName -Recurse -Filter *.sql | Foreach-Object {sqlcmd -i $_.FullName} }  

您好@Shay Levy,我想按照C中的文件首先出现,然后是B和A的顺序获取所有3个子文件夹A、B和C中的文件。因此,如果一个文件夹有3个子文件夹(A、B和C),您希望文件以相反的顺序执行(C、B和A)?什么支配秩序?a、 b和c是真正的文件夹名?这有用吗?Get ChildItem C:\Root\subfolders | Where Object{$$$.PSIsContainer}Foreach Object{Get ChildItem$\.FullName-Recurse-Filter*.sql | Sort Object DirectoryName-Desc | Foreach Object{sqlcmd i$\.FullName}嗨,可惜文件夹的名称没有按字母顺序命名。。有什么解决办法吗?文件夹名=目录、表、数据,我想先循环表中的文件。谢谢你,这真的取决于,你必须有一些逻辑,你可以用它来确定顺序(文件名,路径,表达式,等等)