无忧启动论坛

标题: 求列举文件名的批处理,应该是很简单的 [打印本页]

作者: beauking    时间: 2011-10-30 18:55
标题: 求列举文件名的批处理,应该是很简单的
例如,在 A,B,C 三个文件夹下,有 XY?????.txt  N多文件(几百个文件)

我的要求是:将所有 XY开头的文件名 保存为一个新文件 xyFiles.txt,但仅仅是文件名而不要路径名!

如果我用 dir /s /b /o:n xy*.txt>xyfiles.txt
那结果会保存文件名的完整路径,而不是我想要的纯文件名。

如果用 For 不知道如何保存到新文件 xyfiles.txt 中。


请问DOS高手,如何实现保存纯文件名?谢谢


YP.rar (1.33 KB, 下载次数: 45)

我还是实际发个实例吧!谢谢DOS高手能完成 test.bat  谢谢!
注意,实际文件数量 要超过几百个以上。

[ 本帖最后由 beauking 于 2011-10-31 18:59 编辑 ]
作者: bbsphixy    时间: 2011-10-30 20:58
@ECHO OFF&SETLOCAL ENABLEDELAYEDEXPANSION
set abc=%cd%
FOR %%I IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
    IF EXIST %%I:\* (
       CD /D %%I:
       FOR /F "DELIMS=" %%A IN ('DIR /S/B xy*.txt 2^>nul') DO (
           SET FOO=%%~NA.txt
           ECHO/文件名是!FOO!,完整的文件路径%%A>>"%abc%\xyFiles.txt"
)
)
)
)
作者: beauking    时间: 2011-10-31 18:35
原帖由 bbsphixy 于 2011-10-30 20:58 发表
@ECHO OFF&SETLOCAL ENABLEDELAYEDEXPANSION
set abc=%cd%
FOR %%I IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
    IF EXIST %%I:\* (
       CD /D %%I:
       FOR /F "DELIMS=" % ...



有些地方还是不明白,我已经发了实例,帮忙看看 test.bat  应该怎么写。
谢谢!
作者: bbsphixy    时间: 2011-10-31 21:49
代码,我已经给出来了,你该不会对for循环、if判断、set变量都还不够了解吧?
上面就几条语句。
C盘系统文件多,第一次搜索会花挺多时间的。
作者: beauking    时间: 2011-10-31 21:57
原帖由 bbsphixy 于 2011-10-31 21:49 发表
代码,我已经给出来了,你该不会对for循环、if判断、set变量都还不够了解吧?
上面就几条语句。
C盘系统文件多,第一次搜索会花挺多时间的。



你的代码 并不能实现我的要求啊!不知道你是否看明白我的要求了?
作者: bbsphixy    时间: 2011-10-31 22:16
按你自己说的, xy*.txt
现在你又来yp*.*

你变通一下不得了?改个文件名??

附件:
YP.rar (1.9 KB, 下载次数: 51)




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3