Перечислите все файлы из папок и подпапок в Windows Server 2003 и экспортируйте их в блокнот
У меня есть сервер, который имеет более 600 ГБ данных на одном из дисков.
Мне нужно перечислить все файлы из папок и подпапок и экспортировать их в блокнот или в Excel.
3 ответа
Быстро и грязно в 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 МБ текстового файла. Это исключает все папки, к которым моя учетная запись не имеет доступа.
Мне нужно перечислить все файлы из папок и подпапок и экспортировать в блокнот или Excel.
Из командной строки:
dir /a /s /b > filelist.txt
/a
Показать все файлы/s
Включите все подпапки./b
Голый формат (без заголовка, размера файла или резюме)
открыто filelist.txt
в notepad++
или же excel
,
Дальнейшее чтение
- Индекс AZ командной строки Windows CMD - Отличный справочник по всем вопросам, связанным с командной строкой Windows.
- dir - Показать список файлов и подпапок.
Вы можете использовать этот сценарий 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
}
}
Ответ DavidPostill вполне идеален, но я хотел бы добавить кое-что, чтобы сделать его более легким.
Скопируйте это в блокнот:
dir / a / s / b> filelist.txt
Сохраните это в папку, имена файлов, которые вы хотите собрать с расширением.bat или Файл> Сохранить как> Все файлы> WHATEVER.bat
Вы можете просто сохранить его в одном месте, а затем скопировать / вставить в папку, где это необходимо
/ a Показать все файлы
/ s Включить все подпапки.
/ b Голый формат (без заголовка, размера файла или сводки)
Откройте filelist.txt
- один вопрос, связанный с этим. Как исключить файлы с определенными расширениями?
,