如何根据文件名中特定字符,进行批量移动到指定文件夹

比如有
a(1)001.jpg
b(1)002.jpg
c(1)003.jpg
e(2)001.jpg
f(2)002.jpg,
需要将文件名中包含(1)的所有图片移动至J-001文件夹,包含(2)的所有图片移动至C-002文件夹中。
xp系统,bat

你可以使用Windows下的批处理脚本(.bat)来实现这个任务。下面是一个示例脚本,可以将文件名中包含(1)的图片移动至J-001文件夹,包含(2)的图片移动至C-002文件夹。请确保在运行脚本之前备份重要文件,以免意外丢失数据。

@echo off
setlocal enabledelayedexpansion

rem 设置源文件夹和目标文件夹的根路径
set sourceFolder=C:\YourSourceFolder
set targetRootFolder=C:\YourTargetFolder

rem 循环遍历源文件夹中的文件
for %%f in ("%sourceFolder%\*.jpg") do (
    rem 获取文件名(不包含扩展名)
    set "filename=%%~nf"
    
    rem 判断文件名是否包含(1)或(2)
    if "!filename:~(-3,3)!"=="(1)" (
        rem 创建目标文件夹 J-001(如果不存在)
        if not exist "%targetRootFolder%\J-001" mkdir "%targetRootFolder%\J-001"
        
        rem 移动文件到目标文件夹 J-001
        move "%%f" "%targetRootFolder%\J-001\%%~nxf"
    ) else if "!filename:~(-3,3)!"=="(2)" (
        rem 创建目标文件夹 C-002(如果不存在)
        if not exist "%targetRootFolder%\C-002" mkdir "%targetRootFolder%\C-002"
        
        rem 移动文件到目标文件夹 C-002
        move "%%f" "%targetRootFolder%\C-002\%%~nxf"
    )
)

rem 完成后显示消息
echo 文件移动完成。
pause

在脚本中,请将 C:\YourSourceFolder 替换为包含这些图片的源文件夹的路径,将 C:\YourTargetFolder 替换为你想要将图片移动到的目标文件夹的路径。

【以下回答由 GPT 生成】

解决方案:

以下是使用批处理脚本来实现将文件根据文件名中的特定字符移动到指定文件夹的步骤:

@echo off

REM 设置源文件夹路径
set source_folder=C:\path\to\source\folder

REM 设置目标文件夹路径
set target_folder=C:\path\to\target\folder

REM 创建目标文件夹
mkdir "%target_folder%\J-001" >nul
mkdir "%target_folder%\C-002" >nul

REM 遍历源文件夹中的文件
for %%F in ("%source_folder%\*.jpg") do (
    REM 获取文件名
    set filename=%%~nF

    REM 检查文件名中是否包含"(1)"
    echo %filename% | findstr /C:"(1)" >nul
    if not errorlevel 1 (
        REM 移动文件到J-001文件夹
        move "%%F" "%target_folder%\J-001\"
    )

    REM 检查文件名中是否包含"(2)"
    echo %filename% | findstr /C:"(2)" >nul
    if not errorlevel 1 (
        REM 移动文件到C-002文件夹
        move "%%F" "%target_folder%\C-002\"
    )
)

echo 批处理脚本执行完毕。

请将 C:\path\to\source\folder 替换为实际的源文件夹路径,将 C:\path\to\target\folder 替换为实际的目标文件夹路径。此脚本将在目标文件夹下创建两个子文件夹 "J-001" 和 "C-002",然后遍历源文件夹中的所有 .jpg 文件,根据文件名中是否包含 "(1)" 或 "(2)" 的字符将文件移动到相应的文件夹中。

请注意,脚本中的路径可以使用绝对路径或相对路径来表示。此外,该脚本仅针对 .jpg 文件,如果要处理其他类型的文件,请将扩展名 .jpg 替换为所需的扩展名。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^