Board logo

标题: [文本处理] 批处理如何把文件下所有文件名写入一个文本 [打印本页]

作者: jsdsh    时间: 2014-10-3 15:14     标题: 批处理如何把文件下所有文件名写入一个文本

请问如何用for循环,必须用for循环.把某一个文件夹下所有的文件和目录都写入一个文本?
for /r D:\books %%i in (.) do echo %%i >> c:\a.txt
只能写目录哦~~
作者: xxpinqz    时间: 2014-10-3 15:27

本帖最后由 xxpinqz 于 2014-10-3 15:29 编辑
  1. (for /f "delims=" %%a in ('dir /b /s d:\books')do echo,%%a)>c:\a.txt
复制代码
  1. cd /d "d:\books"&&(for /f "delims=" %%a in ('dir /b /s')do echo,%%~fa)>c:\a.txt
复制代码

作者: CrLf    时间: 2014-10-3 15:44

回复 2# xxpinqz


    有 /s的时候就相当于 %%~fa 了
作者: xxpinqz    时间: 2014-10-4 01:11

回复 3# CrLf


    哦哦,现在喝高了乱回帖,清醒了再回来看看都写了些什么。。。。
作者: 林小七    时间: 2014-10-4 11:05

加一个 /s 就好了~
作者: jsdsh    时间: 2014-10-6 20:26

回复 3# CrLf

%% ~f是什么意思啊?
作者: jsdsh    时间: 2014-10-6 20:26

回复 5# 林小七


    /s 写在哪里?请问?
作者: Batcher    时间: 2014-10-6 21:00

  1. dir /b /s "D:\books" > "C:\a.txt"
复制代码

作者: CrLf    时间: 2014-10-6 21:02

回复 6# jsdsh


    %%~fa 相当于 %%a 的完整路径,详见 for /?




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