robocopy powershell只是获取文件夹和文件名列表

时间:2015-08-05 10:00:20

标签: powershell robocopy

我正在尝试在powershell中使用robocopy来获取文件共享中所有文件夹的列表,其次是仅包含特定文件夹中的文件列表。 当我使用robocopy \\grape\Documents\testACASmigration2 NULL /L /S /NJH /BYTES /FP /NC /XJ /R:0 /W:0时 它输出这个

     0  \\grape\Documents\testACASmigration2\
           0    \\grape\Documents\testACASmigration2\test\
           0    \\grape\Documents\testACASmigration2\test\migration\

------------------------------------------------------------------------------

               Total    Copied   Skipped  Mismatch    FAILED    Extras
    Dirs :         3         3         0         0         0         0
   Files :         0         0         0         0         0         0
   Bytes :         0         0         0         0         0         0
   Times :   0:00:00   0:00:00                       0:00:00   0:00:00
   Ended : 05 August 2015 10:25:11

无论如何我可以进入2个阵列,一个用于所有文件夹,一个用于特定文件夹中的所有文件 我不想要GET_CHILDREN或者任何事情,就像它为260以上的路径所做的那样。机器人就是为什么我用机器人问题提出了这个问题

2 个答案:

答案 0 :(得分:0)

这就是你所追求的:

$folder=[IO.Directory]::GetDirectories("C:\temp")
$files=[IO.Directory]::GetFiles("C:\temp") 

这给了我以下输出:

enter image description here

答案 1 :(得分:0)

使用powershell get-childitem命令和-Recurse开关可以实现这一点。

Get-ChildItem -Recurse


    Directory: C:\Users\Jower\OneDrive\Documents\test


Mode                LastWriteTime         Length Name                                                                       
----                -------------         ------ ----                                                                       
d-----       05-08-2015     12:15                sub1                                                                       
-a----       05-08-2015     12:15              6 test1.txt                                                                  
-a----       05-08-2015     12:15              6 test2.txt                                                                  
-a----       05-08-2015     12:15              6 test3.txt                                                                  


    Directory: C:\Users\Jower\OneDrive\Documents\test\sub1


Mode                LastWriteTime         Length Name                                                                       
----                -------------         ------ ----                                                                       
-a----       05-08-2015     12:15              6 test4.txt                                                                  

虽然您可能会使用类似的东西将它实际放在两个数组中。

$array1 = Get-ChildItem -recurse -Directory # only return the directories
foreach ($folder in $array1)
{
    $array2 = get-childitem $folder -file #get the files in this folder
    # Process $array2
}