跳到主要内容

根据文件名自动创建目录存放文件

以前给画家做助理,要维护老师几十年的电子作品数据。

若干文件,但是,有一定规则,如有按年份命名,这样,根据 "tokens=1,* delims=-" 按长度按指定字符切分文件名,自动创建年份的目录,保存对应的所有文件。

  1998-001.jpg ~ 1998-xxx.jpg
1999-001.jpg ~ 1999-xxx.jpg
...

代码实现,按需设定切分规则。

@echo off
@REM @Author: [email protected]
title 根据文件名自动创建目录存放文件
@echo 根据文件名自动创建目录存放文件
@echo -------------------------------------

:GTBegin
@echo 默认处理目录下所有格式文件,确定继续?(y/n)
set /p GTConfirm=
if "%GTConfirm%"=="y" goto GTYES
if "%GTConfirm%"=="Y" goto GTYES
if "%GTConfirm%"=="n" goto GTNO
if "%GTConfirm%"=="N" goto GTNO
echo 请输入正确的指令
pause >nul
goto GTBegin

:GTYES
@echo -------------------------------------
set /p FilePath=需要处理的目录:
cd /d %FilePath%
for /f "tokens=1,* delims=-" %%J in ('dir /b *.*') do (
if not exist "%%J\" md "%%J"
move /-y "%%J-%%K" "%%J"
)
echo. :) 搞定
pause >nul
exit

:GTNO
exit


更新日志:

  • 2017-05-19