批处理系列(5) - 根据文件名自动创建目录存放文件

结合本系列文章第一篇,看本文。

应用场景:
一个目录下有若干文件,但是,有一定规则,如有按年份命名,

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

这样,根据"tokens=1,* delims=-"切分字符串,并创建年份的目录,保存对应的所有文件。

@echo off
@REM @Author: xianghongai@gmail.com
title   根据文件名自动创建目录存放文件  by:小可(xianghongai@gmail.com)
@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


转载保留原文地址和作者名,只为错误勘正和信息补充。
版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)

posted @ 2018-03-15 11:38  大象  阅读(3477)  评论(0编辑  收藏  举报
可以联系我进行沟通和合作 可以给我发邮件