Liste todos os arquivos de pastas e subpastas no Windows Server 2003 e exporte-os para o bloco de notas

3

Eu tenho um servidor com mais de 600 GB de dados em uma das unidades.

Eu preciso listar todos os arquivos das pastas e subpastas e exportá-los para o bloco de notas ou para o Excel.

    
por Jim McKane 18.02.2015 / 22:50

3 respostas

10

Rápido e sujo no PowerShell:

C:\> dir -recurse | out-file X:\pathtofile.txt

Isso produzirá algo semelhante a isto:

    Directory: E:\Kodak00\PDFs\index\parts


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---        8/10/2002  4:18 a.m.      40960 00000005.ddd
-a---       26/09/2002  7:55 a.m.     446464 00000005.did
-a---        8/10/2002  4:18 a.m.          0 00000005.mrg
-a---        8/10/2002  4:18 a.m.      17408 00000006.ddd
-a---        5/10/2002  3:19 a.m.     221184 00000006.did
-a---        8/10/2002  4:18 a.m.          0 00000006.mrg
-a---        8/10/2002  4:18 a.m.      17408 00000007.ddd
-a---        8/10/2002  3:48 a.m.     102400 00000007.did
-a---        8/10/2002  4:18 a.m.          0 00000007.mrg
-a---        8/10/2002  4:18 a.m.      16384 00000008.ddd
-a---        8/10/2002  4:18 a.m.      32768 00000008.did
-a---        8/10/2002  4:18 a.m.          0 00000008.mrg
-a---        8/10/2002  4:20 a.m.      52224 00000009.ddd
-a---        8/10/2002  4:18 a.m.     641024 00000009.did

Se você adicionar -name ao comando em algum lugar depois de dir , mas antes do | , obterá o seguinte:

PDFs\index\parts
    Directory: E:\Kodak00\PDFs\index\parts


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---        8/10/2002  4:18 a.m.      40960 00000005.ddd
-a---       26/09/2002  7:55 a.m.     446464 00000005.did
-a---        8/10/2002  4:18 a.m.          0 00000005.mrg
-a---        8/10/2002  4:18 a.m.      17408 00000006.ddd
-a---        5/10/2002  3:19 a.m.     221184 00000006.did
-a---        8/10/2002  4:18 a.m.          0 00000006.mrg
-a---        8/10/2002  4:18 a.m.      17408 00000007.ddd
-a---        8/10/2002  3:48 a.m.     102400 00000007.did
-a---        8/10/2002  4:18 a.m.          0 00000007.mrg
-a---        8/10/2002  4:18 a.m.      16384 00000008.ddd
-a---        8/10/2002  4:18 a.m.      32768 00000008.did
-a---        8/10/2002  4:18 a.m.          0 00000008.mrg
-a---        8/10/2002  4:20 a.m.      52224 00000009.ddd
-a---        8/10/2002  4:18 a.m.     641024 00000009.did
000005.ddd PDFs\index\parts
PDFs\index\parts%pre%000005.ddd
PDFs\index\parts%pre%000005.did
PDFs\index\parts%pre%000005.mrg
PDFs\index\parts%pre%000006.ddd
PDFs\index\parts%pre%000006.did
PDFs\index\parts%pre%000006.mrg
PDFs\index\parts%pre%000007.ddd
PDFs\index\parts%pre%000007.did
PDFs\index\parts%pre%000007.mrg
PDFs\index\parts%pre%000008.ddd
PDFs\index\parts%pre%000008.did
PDFs\index\parts%pre%000008.mrg
PDFs\index\parts%pre%000009.ddd
PDFs\index\parts%pre%000009.did
000005.did PDFs\index\parts%pre%000005.mrg PDFs\index\parts%pre%000006.ddd PDFs\index\parts%pre%000006.did PDFs\index\parts%pre%000006.mrg PDFs\index\parts%pre%000007.ddd PDFs\index\parts%pre%000007.did PDFs\index\parts%pre%000007.mrg PDFs\index\parts%pre%000008.ddd PDFs\index\parts%pre%000008.did PDFs\index\parts%pre%000008.mrg PDFs\index\parts%pre%000009.ddd PDFs\index\parts%pre%000009.did

Você também pode querer incluir um -force após o -recurse , pois isso também mostrará os arquivos ocultos e do sistema.

Esteja avisado, este arquivo será grande. Eu corri isso contra o C: \ do meu computador de trabalho e gerou um arquivo txt de 45MB. Isso exclui todas as pastas às quais minha conta de usuário não tem acesso.

    
por 18.02.2015 / 22:56
8

Eu preciso listar todos os arquivos de pastas e subpastas e exportar para o bloco de notas ou Excel.

Na linha de comando:

dir /a /s /b > filelist.txt
  • /a Mostrar todos os arquivos

  • /s Incluir todas as subpastas.

  • /b Formato nulo (sem título, tamanhos de arquivo ou resumo)

Abra filelist.txt em notepad++ ou excel .

Leitura adicional

por 18.02.2015 / 23:45
0

Você pode este script do PowerShell que listará todas as subpastas e arquivos das pastas e gravará no arquivo csv.

$rootPath = "D:\data"
$getFilesfromRootDirectory = Get-ChildItem -Path $rootPath | %{$_.FullName}

$csvFilename = "D:\Output\outputs.csv"   #Output will be written to csv file

function get_files_under_folders($value)
{
  $getFiles = Get-ChildItem -Path $value | %{$_.FullName}

    foreach ($value in $getFiles)
    {

        if(checkFileorFolder($value))
        {    
             echo "$value" >> $csvFilename
             Write-Host $value
             get_files_under_folders($value)         
        }
        else
        {        
            Write-Host $value 
            echo "$value" >> $csvFilename
        }
    }     
}

function checkFileorFolder($value)
{
   $CheckFile = Test-Path -Path $value -PathType Container 
  return $CheckFile
}

foreach($value in $getFilesfromRootDirectory)
{


 if(checkFileorFolder($value))
 {        
     Write-Host $value
     get_files_under_folders($value)         
 }
 else
 {        
    Write-Host $value 
    echo "$value" >> $csvFilename
 }
}
    
por 02.10.2018 / 20:18