找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 58111|回复: 20

[文件操作] [已解决]批处理如何读取EXCEL信息给指定目录下的文件创建文件夹且按照序号归类?

[复制链接]
发表于 2023-9-13 10:51:26 | 显示全部楼层 |阅读模式
本帖最后由 liaoguinan 于 2023-9-13 20:27 编辑

如何读取EXCEL信息给指定目录下的文件创建文件夹且按照序号归类

例如第一条就是创建1.1.1.1-1-1(小明)文件夹并把图片1-3移动到这个文件夹下
第二条就是创建1.1.1.1-1-4(小明)文件夹并把图片4移动到这个文件夹下以此类推

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2023-9-13 13:22:04 | 显示全部楼层
回复 1# liaoguinan


    请把Excel文件上传到网盘以便测试代码
 楼主| 发表于 2023-9-13 14:02:08 | 显示全部楼层
回复 2# Batcher


    链接:https://pan.baidu.com/s/1yks3JThkBk0Qh6ajOoalhA?pwd=3903 提取码:3903
发表于 2023-9-13 17:13:25 | 显示全部楼层
把文件另存为 csv格式
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "useback tokens=1-5 delims=," %%a in ("1.csv") do (
  4.         set /a n+=1
  5.         set m=%%b
  6.         call :1 !n!
  7.         md "%%a%%b%%c%%d%%e"
  8.         for /l %%l in (%%b,1,!m!) do (
  9.                 set k=00%%l
  10.                 move "!k:~-3!.jpg" "%%a%%b%%c%%d%%e"
  11.         )
  12. )
  13. pause & exit

  14.         :1
  15.         for /f "useback skip=%~1 tokens=1-5 delims=," %%a in ("1.csv") do (
  16.                 set /a m=%%b-1
  17.                 exit /b
  18.         )
  19.         exit /b
复制代码
 楼主| 发表于 2023-9-13 17:27:20 | 显示全部楼层
回复 4# 77七


    for /f "useback tokens=1-5 delims=," %%a in ("C:\Users\Administrator\Desktop\1.csv") do (


大神这一段的这个路径如何修改才能脚本正常呢?貌似我这样修改会出错,就是想读取桌面这个
发表于 2023-9-13 17:35:26 | 显示全部楼层
回复 5# liaoguinan


这样改没错的,是不是遗漏了一处?一共有两处需要修改。
   路径如果有中文,批处理需要保存为ansi编码格式。
 楼主| 发表于 2023-9-13 17:41:28 | 显示全部楼层
回复 6# 77七


    @echo off
setlocal enabledelayedexpansion
for /f "useback tokens=1-5 delims=," %%a in ("C:\Users\Administrator\Desktop\1.csv") do (
        set /a n+=1
        set m=%%b
        call :1 !n!
        md "%%a%%b%%c%%d%%e"
        for /l %%l in (%%b,1,!m!) do (
                set k=00%%l
                move "!k:~-3!.jpg" "%%a%%b%%c%%d%%e"
        )
)
pause & exit

        :1
        for /f "useback skip=%~1 tokens=1-5 delims=," %%a in ("C:\Users\Administrator\Desktop\1.csv") do (
                set /a m=%%b-1
                exit /b
        )
        exit /b


两处都改了,运行提示“系统找不到文件C:\Users\Administrator\Desktop\1.csv”

批处理文件和1.csv在处理的文件夹下运行是没问题的正常,但是把1.csv移到桌面就不行了
发表于 2023-9-13 17:47:11 | 显示全部楼层
回复 4# 77七


    useback改成usebackq
 楼主| 发表于 2023-9-13 17:55:49 | 显示全部楼层
回复 8# Batcher


还是一样
发表于 2023-9-13 18:08:50 | 显示全部楼层
回复 9# liaoguinan


  
  1. @echo off
  2. if not exist "C:\Users\Administrator\Desktop\1.csv" (
  3.         echo 找不到文件
  4. )
  5. pushd "C:\Users\Administrator\Desktop"
  6. dir /b /s /a-d 1.csv
  7. pause
复制代码
确定1.csv在desktop下吗
 楼主| 发表于 2023-9-13 18:13:49 | 显示全部楼层
回复 10# 77七


    对的
发表于 2023-9-13 18:19:50 | 显示全部楼层
回复 11# liaoguinan


   10楼代码,试了吗,找得到文件吗?
 楼主| 发表于 2023-9-13 18:27:54 | 显示全部楼层
回复 12# 77七



 楼主| 发表于 2023-9-13 18:30:32 | 显示全部楼层
本帖最后由 liaoguinan 于 2023-9-13 18:33 编辑

回复 12# 77七


    还有一个问题就是最后一个文件夹如果不是一张的话好像不会把其他的放进去呢?

比如最后一个文件夹是图片号10-15页码这种的话他只会把图片号10放进去

发表于 2023-9-13 18:47:18 | 显示全部楼层
本帖最后由 77七 于 2023-9-13 18:58 编辑

回复 14# liaoguinan


   
那就别修改csv文件了。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "useback tokens=1-5 delims=," %%a in ("1.csv") do (
  4.         set /a n+=1
  5.         set m=999
  6.         call :1 !n!
  7.         md "%%a%%b%%c%%d%%e"
  8.         for /l %%l in (%%b,1,!m!) do (
  9.                 set k=00%%l
  10.                 if exist "!k:~-3!.jpg" (
  11.                         move "!k:~-3!.jpg" "%%a%%b%%c%%d%%e"
  12.                 )
  13.         )
  14. )
  15. pause & exit

  16.         :1
  17.         for /f "useback skip=%~1 tokens=1-5 delims=," %%a in ("1.csv") do (
  18.                 set /a m=%%b-1
  19.                 exit /b
  20.         )
  21.         exit /b
复制代码

评分

参与人数 1技术 +1 收起 理由
liaoguinan + 1 感谢感谢

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 13:31 , Processed in 0.019177 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表