Board logo

标题: [文件操作] [已解决]多个目录其内文件相同,批处理怎样将文件名与地址导入表格 [打印本页]

作者: 202048    时间: 2023-2-17 13:34     标题: [已解决]多个目录其内文件相同,批处理怎样将文件名与地址导入表格

例:


当前有"四川""广西""等多个目录,其内有很多文件:草莓.jpg,葡萄.jpg,荔枝.jpg...共同点为目录内文件名一致


想实现以文件名,目录名,文件地址导入.csv表格,如下:

文件名        四川        广西
草莓        c:\桌面\四川\草莓.jpg        c:\桌面\广西\草莓.jpg
葡萄        c:\桌面\四川\葡萄.jpg        c:\桌面\广西\葡萄.jpg
荔枝        c:\桌面\四川\荔枝.jpg        c:\桌面\广西\荔枝.jpg
...

请教下大佬们我应该怎么编写,涉及多个目录同步导入表格,我实在是想不到思路
作者: qixiaobin0715    时间: 2023-2-17 14:51

会不会出现文件夹“四川”中没有“葡萄.jpg”;文件夹“广西”中没有“草莓.jpg”的情况...。如果有上面的情况,如何处理。
作者: 202048    时间: 2023-2-17 15:04

回复 2# qixiaobin0715


    一般是同一个目录拷贝几份出来处理的,出错几率较小,如果出现了您所描述的信息,空着就可
作者: qixiaobin0715    时间: 2023-2-17 15:36

回复 3# 202048
如果不考虑2楼出现的状况的话:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set str1=文件名
  4. for /d %%a in (*) do (
  5.     set str=%%a
  6.     set str1=!str1!,%%a
  7. )
  8. (echo,!str1!
  9. for /f "delims=" %%i in ('dir /b /a-d "!str!\*.jpg"') do (
  10.     set str2=%%i
  11.     for /f "delims=" %%j in ('dir /s /b /a-d "%%i"') do (
  12.         set str2=!str2!,%%j
  13.     )
  14.     echo,!str2!
  15. ))>Sum.csv
  16. pause
复制代码
批处理文件另存为ANSI编码,未测试。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2