![根据照片文件对音频文件进行排序](https://linux22.com/image/1529479/%E6%A0%B9%E6%8D%AE%E7%85%A7%E7%89%87%E6%96%87%E4%BB%B6%E5%AF%B9%E9%9F%B3%E9%A2%91%E6%96%87%E4%BB%B6%E8%BF%9B%E8%A1%8C%E6%8E%92%E5%BA%8F.png)
我正在尝试帮助一位年长的家庭成员整理他们的文件。
我想要做的是查看所有子目录并使用文件名创建单独的文件夹。
例子:
root > folder_01
folder_01 may contain .mov .jpg .jpeg files
在 folder_01 中,我想创建单独的文件夹
root > folder_01 > mov
root > folder_01 > jpg
root > folder_01 > jpeg
也是一样folder_02
,folder_03
等等。
我知道这对于 Linux 终端来说是一项复杂的任务,但也许 Linux 或 Windows 程序也可以完成这一点。
如果您可以提供推荐或者需要更多信息,请发帖,我会尽力解释得更好。
几乎愿意做任何事情,然后花几天时间整理这些文件,这就是我在这里发帖的原因。
答案1
这个 PowerShell 脚本应该可以执行您想要的操作(在 Ubuntu 16.04 和 Windows 10 下测试)
# Move-FileType.ps1
$Extensions = @('.mov','.jpg','.jpeg')
Get-ChildItem -Directory /root/folder_?? | ForEach-Object {
ForEach ($Ext in $Extensions) {
$DestPath = Join-Path $_.FullName $Ext.Trim('.')
If (!(Test-Path $DestPath)) {mkdir $DestPath|Out-Null}
Get-ChildItem -Path $_ -File -Filter "*$Ext" |
Move-Item -Destination $DestPath -WhatIf
}
}