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

[文本处理] 批处理如何取得文件列表?

比如,D盘下:
文件夹ABC中有文件1.txt、2.doc
文件夹DEF中有文件3.xls、4.bmp
等等还有很多文件及文件夹

如何编写批处理生成一个txt文件,里面有文件路径及名字。不需要单独的文件夹。
如:
D:/ABC/1.txt
D:/ABC/2.doc
D:/DEF/3.xls
D:/DEF/4.bmp
……
这个样子的

  1. dir /s/b/a-d d:\>c:\1.txt
复制代码
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

谢谢!不过不好意思,路经是bat文件所在根目录,我改成了:
dir /s/b/a-d >>1.txt
然后结果比如:
C:\Documents and Settings\Administrator\Desktop\ABC\1.txt
C:\Documents and Settings\Administrator\Desktop\ABC\2.doc
C:\Documents and Settings\Administrator\Desktop\EFG\3.xls
C:\Documents and Settings\Administrator\Desktop\EFG\4.bmp
但和我要的结果不一致啊。
“\”相反了。
或者,
能否自动把C:\Documents and Settings\Administrator\Desktop\删除
变成
ABC/1.txt
ABC/2.doc
EFG/3.xls
EFG/4.bmp
这个样子的???

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. set "r=%userprofile%\Desktop"
  3. (for /f "delims=" %%a in ('dir /s/b/a-d "%r%"') do (
  4. set "a=%%a"
  5. set "a=!a:%r%\=!"
  6. echo !a:\=/!
  7. ))>c:\1.txt
复制代码
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

简直是神啊!
非常感谢!

TOP

返回列表