批處理系列(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許可證)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM