比如有
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
替换为所需的扩展名。