根据文件名(不包括括号和方括号)批量创建文件夹

乔纳森

我有成千上万个具有以下结构的文件:

Sample1 (43643) [3235]
Sample1 (32352) [6432]
Sample1 (35346) [4364]

我试图基于不包括括号和括号的文件名批量创建文件夹,并将所有类似命名的文件移动到该文件夹​​中,如下所示:

Sample1\Sample1 (43643) [3235]
Sample1\Sample1 (32352) [6432]
Sample1\Sample1 (35346) [4364]

任何想法如何做到这一点?任何帮助将不胜感激。

更新:

@beatcracker我能够使它与示例文件名一起使用,但是这里是我正在使用的实际文件名(不起作用):

1st Division Manager (1992)(Codemasters)[cr NMS].adf
1st Division Manager (1992)(Codemasters)[cr NMS][a10].adf
1st Division Manager (1992)(Codemasters)[cr NMS][a11].adf
1st Division Manager (1992)(Codemasters)[cr NMS][a12].adf
1st Division Manager (1992)(Codemasters)[cr NMS][a2].adf
1st Division Manager (1992)(Codemasters)[cr NMS][a3].adf
1st Division Manager (1992)(Codemasters)[cr NMS][a4].adf
1st Division Manager (1992)(Codemasters)[cr NMS][a5].adf
1st Division Manager (1992)(Codemasters)[cr NMS][a6].adf
1st Division Manager (1992)(Codemasters)[cr NMS][a7].adf
1st Division Manager (1992)(Codemasters)[cr NMS][a8].adf
1st Division Manager (1992)(Codemasters)[cr NMS][a9].adf
1st Division Manager (1992)(Codemasters)[cr NMS][a].adf
1st Division Manager (1992)(Codemasters)[cr NMS][h KTS].adf
3D Construction Kit II r2.01 (1992)(Domark)(Disk 1 of 2)[h Ministry][construction kit].adf
3D Construction Kit II r2.01 (1992)(Domark)(Disk 2 of 2)[construction kit].adf
3D Construction Kit II r2.03 (1992)(Domark)(FR)(Disk 1 of 2)[construction kit].adf
3D Construction Kit II r2.03 (1992)(Domark)(FR)(Disk 2 of 2)[construction kit].adf
敲打器

这是PowerShell版本。适用于单个文件夹,使用正则表达式匹配文件名。只需编辑$OrigFolder/$NewFolder相应地:

# Folder where files are stored
$OrigFolder = 'C:\MyFolder'

# Folder where sorted files will be stored.
# It will be created if not exists.
$NewFolder = 'C:\MyFolder_Sorted'

# Folder, where files with empty part of the name will be stored
# Example: file "(1992)(Domark)(FR)(Disk 2 of 2)[construction kit].adf"
# will be moved to ".\Sorted\Unknown" folder
$UnknownFolder = 'Unknown'

# Regex to match filenames
$Regex = '^\s*(.*?)\s*\('

# Loop through files in directory, skip folders
Get-ChildItem -LiteralPath $OrigFolder | Where-Object {!$_.PsIsContainer} |
    ForEach-Object {
        if($_.BaseName -match $Regex){

            # If first part of the file name is empty,
            # move it to the 'Unknown' folder
            if(!$Matches[1]){
                $ChildPath = $UnknownFolder
            } else {
                $ChildPath =  $Matches[1]
            }

            # Generate new folder name
            $FolderName = Join-Path -Path $NewFolder -ChildPath $ChildPath

            # Create folder if not exists
            if(!(Test-Path -LiteralPath $FolderName -PathType Container)){
                $null = New-Item -Path $FolderName -ItemType Directory
            }

            # Basic logging
            Write-Host "$($_.FullName) -> $FolderName"

            # Move file
            Move-Item -LiteralPath $_.FullName -Destination $FolderName
        }
}

将其另存为MoveFiles.ps1,然后在PowerShell控制台中运行,如下所示:.\MoveFiles.ps1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

批量删除文件名中的括号和方括号

来自分类Dev

根据文件名自动创建文件夹

来自分类Dev

根据文件名 bash 创建文件夹

来自分类Dev

使用os.mkdir创建文件夹并使用方括号时,Python:WindowsError

来自分类Dev

使用os.mkdir创建文件夹并使用方括号时,Python:WindowsError

来自分类Dev

根据部分文件名批量创建文件夹并将文件移动到该文件夹中

来自分类Dev

按文件名部分批量创建文件夹并移动

来自分类Dev

需要.bat文件,它将根据文件名创建文件夹

来自分类Dev

Windows Batch根据文件名创建文件夹

来自分类Dev

R:使用文件名创建文件夹

来自分类Dev

批处理命令根据文件名创建文件夹并将文件/文件夹移动到创建的文件夹

来自分类Dev

批量删除文件名中的括号

来自分类Dev

批量创建文件夹

来自分类Dev

根据部分文件名创建文件夹,然后将文件移动到创建的文件夹中

来自分类Dev

rm命令:删除文件名包含方括号的文件

来自分类Dev

遍历目录中的文件,根据文件名创建文件夹,并将文件移动到相应的文件夹中

来自分类Dev

批量创建文件夹和子文件夹

来自分类Dev

Mac OS –根据文件名的一部分创建文件夹

来自分类Dev

Abobe方括号如何在文件夹中查找

来自分类Dev

使用Powershell删除文件名中的方括号字符

来自分类Dev

如果文件名包含方括号,则查找失败

来自分类Dev

批处理文件以基于文件名创建文件夹

来自分类Dev

为每个文件名创建文件夹并移动文件

来自分类Dev

仅使用文件名的一部分从文件名创建文件夹

来自分类Dev

使用{*。*}从零件文件名创建文件夹

来自分类Dev

使用批处理命令创建文件夹并复制文件名

来自分类Dev

7zip批处理创建文件夹而不是文件名

来自分类Dev

如何从文件名创建文件夹并在 PHP 中移动它?

来自分类Dev

如何使用文件名的前几个字母创建文件夹?

Related 相关文章

  1. 1

    批量删除文件名中的括号和方括号

  2. 2

    根据文件名自动创建文件夹

  3. 3

    根据文件名 bash 创建文件夹

  4. 4

    使用os.mkdir创建文件夹并使用方括号时,Python:WindowsError

  5. 5

    使用os.mkdir创建文件夹并使用方括号时,Python:WindowsError

  6. 6

    根据部分文件名批量创建文件夹并将文件移动到该文件夹中

  7. 7

    按文件名部分批量创建文件夹并移动

  8. 8

    需要.bat文件,它将根据文件名创建文件夹

  9. 9

    Windows Batch根据文件名创建文件夹

  10. 10

    R:使用文件名创建文件夹

  11. 11

    批处理命令根据文件名创建文件夹并将文件/文件夹移动到创建的文件夹

  12. 12

    批量删除文件名中的括号

  13. 13

    批量创建文件夹

  14. 14

    根据部分文件名创建文件夹,然后将文件移动到创建的文件夹中

  15. 15

    rm命令:删除文件名包含方括号的文件

  16. 16

    遍历目录中的文件,根据文件名创建文件夹,并将文件移动到相应的文件夹中

  17. 17

    批量创建文件夹和子文件夹

  18. 18

    Mac OS –根据文件名的一部分创建文件夹

  19. 19

    Abobe方括号如何在文件夹中查找

  20. 20

    使用Powershell删除文件名中的方括号字符

  21. 21

    如果文件名包含方括号,则查找失败

  22. 22

    批处理文件以基于文件名创建文件夹

  23. 23

    为每个文件名创建文件夹并移动文件

  24. 24

    仅使用文件名的一部分从文件名创建文件夹

  25. 25

    使用{*。*}从零件文件名创建文件夹

  26. 26

    使用批处理命令创建文件夹并复制文件名

  27. 27

    7zip批处理创建文件夹而不是文件名

  28. 28

    如何从文件名创建文件夹并在 PHP 中移动它?

  29. 29

    如何使用文件名的前几个字母创建文件夹?

热门标签

归档