批处理把文件自动移动到相关的目录下

当前目录下有几万个文件,文件名为英文,把文件按首字母存放到下级目录中。用批处理实现自动移动文件。文件类型可以是任意。新建的目录名按照a,b,c,d…z建立。

::rem 此程序把指定的html文件按照英文首字母创建目录,并把文件移动到相关目录下

@echo off 
rem 默认为utf-8编码
Chcp 65001
Setlocal Enabledelayedexpansion
echo begin > log.txt

::rem 用for获取当前目录下的所有html类型文件
for %%i in (*.html) do (
    set files=%%i
    set name=%%~ni

::获取文件路径
        set path=%%~pi

    set firstname=!name:~0,1!   

::在当前目录下创建目录名为文件名首字母的目录
    set newpath=!path!!firstname!&echo newpath=!path!!firstname!>>log.txt

::如果目录不存在,就创建一个目录
    if not exist !newpath! (echo !newpath!notexist>>log.txt &md !newpath!)

::把文件移动到以其首字母命名的目录下
    move “!files!” “!newpath!\”
        
)
goto eof

rem ———————————————————————

    原文作者:juddy10000
    原文地址: https://blog.csdn.net/juddy10000/article/details/119683830
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞