按分隔符后的文本对文件资源管理器数据进行排序

按分隔符后的文本对文件资源管理器数据进行排序

我有不少使用命名约定的 .epub 文件:

书名 - 作者.epub

如何在文件资源管理器中按作者对这些文件进行排序

编辑:我希望能够将作者的所有 .epub 文件剪切并粘贴到具有作者姓名的文件夹中。

答案1

Windows 文件资源管理器无法将文件名拆分为可排序字段。我能想到两种不需要额外软件的选项。

选项1使用通配符进行搜索,例如如果想要的作者是“Jane Something”,您可以使用资源管理器进行搜索* - Jane*,但是文件仍然会使用书名而不是作者进行排序。

选项 2使用 PowerShell 脚本完成繁重工作

  1. 将以下文本复制并粘贴到记事本(不是 Word)中

  2. 将其保存为SORT_BY_AUTHOR.ps1与 .epub 文件相同的文件夹
    确保更改 类型 Text Document (*.txt) All Files (*.*)

  3. 双击文件夹中的文件,它将为您生成一个按作者排序的 .CSV 文件。

<#
  SORT_BY_AUTHOR.ps1

  Generates a list of books sorted by author from a directory of files
  with a naming convention of <BookTitle> - <BookAuthor>
#>
$Delimiter = " - "

$Books = Get-ChildItem | ForEach-Object { 
    $SplitName = $_.BaseName -Split $Delimiter
    [PSCustomObject]@{ 
        Title = $SplitName[0]
        Author = $SplitName[1]
        File = $_.Name
    }   
}

$ExportFile = "_ByAuthor-" + (Get-Date -Format "yyyy-MM-dd_HHmm") + ".csv"
$Books | Export-Csv -Path $ExportFile -NoTypeInformation
Start $ExportFile

相关内容