如何从文件夹中获取文件列表

时间:2014-01-03 15:54:41

标签: file cmd directory

我真的可以使用一些帮助。我一直在这里和网上搜索主题,并且更接近我需要但不是全程

我需要一个文件夹中所有文件和子文件夹的列表

我在如何使用命令提示符从目录中获取文件和文件夹方面找到了很多帮助,但在我的情况下,目录很大,而只是指定我需要的文件夹然后获取其中存在的文件该文件夹(以及子文件夹及其文件)。另请注意,我不是非常技术性,可以使用命令提示符管理基本查询

我需要:

我可以导入到包含的列表的列表 - 文件名,文件路径(如果可能),修订日期,作者,文件类型

我需要的文件都存在于M:\ Sales&中的子文件夹中。营销\销售\销售工具以及我在M:\ Sales&营销\销售\招标\招标文件

我想过将它们从共享文件夹复制到我的本地目录中,但这需要2个多小时才能完成

我真的很感激您提供的任何帮助。我尝试按照dir / s / b>>的路线更改所有示例。 filelist.txt使用文件夹和路径,但没有运气

许多人提前感谢

1 个答案:

答案 0 :(得分:0)

将所有这些保存到名为MyInfo.bat的批处理文件中,然后启动它。在同一文件夹中,您应该找到file.csv,其中包含一些可能对您有帮助的信息。它使用Powershell获取信息,但可以作为批处理文件启动。

如果您提到Author,则会返回文件的ownerfile type由文件名中的扩展名显示。

@echo off
more +7 "%~f0" >"%temp%\a.ps1"
powershell "%temp%\a.ps1"  >"file.csv"
del "%temp%\a.ps1"
goto :EOF



$files = Get-ChildItem 'M:\Sales & Marketing\Sales\Sales Tools\*' -Recurse
foreach ($file in $files){
$acl = $file | get-acl | select path,owner
$result = "`"$($file.name.ToString())`",`"$($file.directoryname.ToString())`",`"$($acl.owner.ToString())`",$($file.lastwritetime.ToString("yyyy-MM-dd hh:mm:ss"))"
write-output $result
}

$files = Get-ChildItem 'M:\Sales & Marketing\Sales\Tenders\Tender Docs\*' -Recurse
foreach ($file in $files){
$acl = $file | get-acl | select path,owner
$result = "`"$($file.name.ToString())`",`"$($file.directoryname.ToString())`",`"$($acl.owner.ToString())`",$($file.lastwritetime.ToString("yyyy-MM-dd hh:mm:ss"))"
write-output $result
}