感谢这里的几个人,我能够通过命令行连接到我的WD NAS。
现在我想拿到我储存在那里的电影的标题。我知道dir /b > file.csv命令,但这似乎不适用于我的结构。我有一个名为Data的文件夹(我有X:映射到这个位置"\MYNAS\ Data "),数据文件夹中还有其他文件夹,比如Action、Drama、Documentary等。所以当我使用dir /b > file.csv命令时,它会给出数据中的文件夹名称,而不是文件夹中的电影。
是否有一种简单的方法从每个文件夹中提取文件并使它们全部输出到一个CSV,而不是通过并为每个文件夹制作一个精盐csv?
我更喜欢用命令提示符来解决这个问题,因为我对它最熟悉,但我也愿意使用powershell。
发布于 2015-07-15 16:38:19
如果要在dir中使用cmd.exe命令,则需要/S开关递归地遍历文件夹,并可能需要/A:-D从结果中排除目录和连接:
dir X:\Data /A:-D /S /B > files.csv您也可以使用PowerShell,等效的cmdlet是Get-ChildItem。
Get-ChildItem X:\Data -File -Recurse | select FullName | Out-File "files.csv"正如@Matt注意到的,这条语句只适用于PowerShell 3.0或更高版本。在早期版本中,-File参数不能工作,因此您必须手动筛选出目录:
Get-ChildItem X:\Data -Recurse | Where-Object {-not $_.PSIsContainer} | Select FullName | Out-File "files.csv"可以展开Where-Object筛选器以排除具有特定扩展名的具有Extension属性的文件:
$ExcludeExtensions = ".exe",".pdf"
Get-ChildItem X:\Data -Recurse | Where-Object {(-not $_.PSIsContainer) -and ($ExcludeExtensions -notcontains $_.Extension)} | Select FullName | Out-File "files.csv"https://stackoverflow.com/questions/31435791
复制相似问题