3

У меня есть сервер, который имеет более 600 ГБ данных на одном из дисков.

Мне нужно перечислить все файлы из папок и подпапок и экспортировать их в блокнот или в Excel.

3 ответа3

10

Быстрый и грязный в PowerShell:

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

Это выведет что-то похожее на это:

    Directory: E:\Kodak\3500\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

Если вы добавите -name к команде где-то после dir но перед | тогда вы получите следующее:

PDFs\index\parts\00000005.ddd
PDFs\index\parts\00000005.did
PDFs\index\parts\00000005.mrg
PDFs\index\parts\00000006.ddd
PDFs\index\parts\00000006.did
PDFs\index\parts\00000006.mrg
PDFs\index\parts\00000007.ddd
PDFs\index\parts\00000007.did
PDFs\index\parts\00000007.mrg
PDFs\index\parts\00000008.ddd
PDFs\index\parts\00000008.did
PDFs\index\parts\00000008.mrg
PDFs\index\parts\00000009.ddd
PDFs\index\parts\00000009.did

Вы также можете включить -force после -recurse поскольку это покажет скрытые и системные файлы.

Имейте в виду, этот файл будет большим. Я запустил это на C:\ моего рабочего компьютера, и он сгенерировал 45 МБ текстового файла. Это исключает все папки, к которым моя учетная запись пользователя не имеет доступа.

8

Мне нужно перечислить все файлы из папок и подпапок и экспортировать в блокнот или Excel.

Из командной строки:

dir /a /s /b > filelist.txt
  • /a Показать все файлы

  • /s Включить все подпапки.

  • /b Голый формат (без заголовка, размера файла или сводки)

Откройте filelist.txt в notepad++ или в excel .


Дальнейшее чтение

0

Вы можете использовать этот сценарий PowerShell, который перечислит все подпапки и файлы папок и запишет его в файл 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
 }
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .