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

[文件操作] 【已解决】BAT脚本怎样批量提取文件夹内文件的名称?

[复制链接]
发表于 2019-11-29 09:27:10 | 显示全部楼层 |阅读模式
本帖最后由 星空独子 于 2019-12-2 14:51 编辑

文件夹内的文件有规律的命名,将文件名导入excel中的同时,使文件名按空格进行断开,分别加入到不同的列,空格从第二个开始计算。
比如:文件名叫:RRP 58007 C 未授权 目视检查
希望excel中出现这样:
序列号              文件编号              版本              授权/加密              文件名               路径              备注
   1               RRP 58007              C                  未授权               目视检查              C:\
   2               ISO 9001                A                  已授权            质量认证体系            D:\
   .
   .
   .
发表于 2019-11-29 16:16:42 | 显示全部楼层
回复 1# 星空独子


假设你这些文件都是txt文件:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=0
  4. >"结果.csv" echo 序列号,文件编号,版本,授权/加密,文件名,路径,备注
  5. (for /f "delims=" %%a in ('dir /b /s /a-d *.txt') do (
  6.     set /a n+=1
  7.     for /f "tokens=1-5" %%h in ("%%~na") do (
  8.         echo !n!,%%h %%i,%%j,%%k,%%l,%%~da\
  9.     )
  10. ))>>"结果.csv"
复制代码

评分

参与人数 1技术 +1 收起 理由
星空独子 + 1 功能实现

查看全部评分

发表于 2019-11-29 16:18:24 | 显示全部楼层
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. cd /d "%~dp0"
  4. set "file=导入Excel.txt"
  5. set n=0
  6. (
  7.   echo 序列号,文件编号,版本,授权/加密,文件名,路径,备注
  8.   for /f "tokens=1-5" %%a in ('dir /a /b') do (
  9.     set /a n+=1
  10.     echo "!n!","%%a %%b","%%c","%%d","%%e","%%~dp0",""
  11.   )
  12. )>"%file%"
  13. endlocal
  14. pause
  15. exit /b
复制代码
 楼主| 发表于 2019-11-29 17:52:50 | 显示全部楼层
回复 2# Batcher
代码第八行%%~da要改成%cd%才行,谢谢大神
发表于 2019-11-29 20:59:05 | 显示全部楼层
回复 4# 星空独子


    问题解决了就好,根据顶楼给的例子,我也是瞎猜的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 13:14 , Processed in 0.017034 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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