[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 liaoguinan 于 2023-9-13 20:27 编辑

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

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

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 1# liaoguinan


    请把Excel文件上传到网盘以便测试代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# Batcher


    链接:https://pan.baidu.com/s/1yks3JThkBk0Qh6ajOoalhA?pwd=3903 提取码:3903

TOP

把文件另存为 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
复制代码
bat小白,请多指教!谢谢!

TOP

回复 4# 77七


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


大神这一段的这个路径如何修改才能脚本正常呢?貌似我这样修改会出错,就是想读取桌面这个

TOP

回复 5# liaoguinan


这样改没错的,是不是遗漏了一处?一共有两处需要修改。
   路径如果有中文,批处理需要保存为ansi编码格式。
bat小白,请多指教!谢谢!

TOP

回复 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移到桌面就不行了

TOP

回复 4# 77七


    useback改成usebackq
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 8# Batcher


还是一样

TOP

回复 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下吗
bat小白,请多指教!谢谢!

TOP

回复 10# 77七


    对的

TOP

回复 11# liaoguinan


   10楼代码,试了吗,找得到文件吗?
bat小白,请多指教!谢谢!

TOP

回复 12# 77七



TOP

本帖最后由 liaoguinan 于 2023-9-13 18:33 编辑

回复 12# 77七


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

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

TOP

本帖最后由 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

评分人数

bat小白,请多指教!谢谢!

TOP

返回列表