对Excel表中归类的文件夹进行自动分类

  1. 首先把excel表另存为.txt文件(注意:刚开始可能是ANSI格式,需要转成UTF-8格式);
  2. 再新建一个.txt文件,重命名成.bat文件(注意:直接创建的如果是是UTF-8格式,最好转成ANSI格式,虽然UTF-8格式的.bat文件不影响运行结果,但是可能运行的时候出现乱码);
  3. bat文件自动分类代码:
@echo off
echo 测试中
setlocal enabledelayedexpansion
REM excelFileName是Excel表另存为的文件名,folderPath是存放的文件夹的路径
set "excelFileName=filename.txt"
set "folderPath=C:\Users\pc\Desktop\test"
REM 读取Excel文件数据
for /f  "skip=1 tokens=1,2 delims=	" %%A in (%excelFileName%) do (
    set "folderName=%%A"
    set "category=%%B"
    REM 创建对应分类的文件夹
    if not exist "%folderPath%\!category!" (
     mkdir "%folderPath%\!category!"
    )
     REM 移动文件夹到对应分类的文件夹中
    move "%folderPath%\!folderName!" "%folderPath%\!category!"
)
echo 文件夹已按分类移动完成
pause
  1. 如果想把文件夹还原到原本的路径,可以执行以下代码,bat文件还原代码:
@echo off
setlocal enabledelayedexpansion
set "excelFileName=filename.txt"
set "folderPath=C:\Users\pc\Desktop\test"
REM 读取Excel文件数据
for /f "skip=1 tokens=1,2 delims=	" %%A in (%excelFileName%) do (
    set "folderName=%%A"
    set "category=%%B"
if exist "%folderPath%\!category!\!folderName!" (
        move "%folderPath%\!category!\!folderName!" "%folderPath%"
    )
)
echo 还原完成
pause

例子:

  1. Excel文件:

对Excel表中归类的文件夹进行自动分类_第1张图片

  1. 文件夹存放:

对Excel表中归类的文件夹进行自动分类_第2张图片

  1. 双击执行自动分类后:
    对Excel表中归类的文件夹进行自动分类_第3张图片
    参考:
    批处理学习:for语句详解【经典】
    Windows 批处理(bat)语法大全

你可能感兴趣的:(批处理,excel,文件夹自动分类,batch命令)