![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 01:24 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 搜索D盘*.txt后再按文件名顺序(怎样忽略文件夹顺序呀) |
| 可打印版本 1,796 / 15 |
| 第1楼 yywd | 发表于 2008-06-19 18:19 |
| 中级用户 发帖 130 积分 358 | |
|
搜索D盘*.txt后再按文件名顺序(怎样忽略文件夹顺序呀) 搜索D盘*.txt后再按文件名顺序(怎样忽略文件夹顺序呀)
搜索*.txt后再按文件名顺序(忽略文件夹顺序)排序写入完整路径到1.txt 怎样忽略文件夹顺序呀 例如D盘有 D:\b.txt D:\d.txt D:\1\c.txt D:\1\f.txt D:\2\1\a.txt D:\2\1\g.txt D:\2\1\1\e.txt 则1.txt如下 D:\2\1\a.txt D:\b.txt D:\1\c.txt D:\d.txt D:\2\1\1\e.txt D:\1\f.txt D:\2\1\g.txt |
|
| 第2楼 pusofalse | 发表于 2008-06-19 18:26 |
| 银牌会员 发帖 646 积分 1,604 | |
|
试下这个。。。
dir d:\*.txt /b/s/a-d/on |
|
| 第3楼 yywd | 发表于 2008-06-19 18:29 |
| 中级用户 发帖 130 积分 358 | |
Originally posted by pusofalse at 2008-6-19 18:26: 没有忽略文件夹顺序呀 怎样忽略文件夹顺序呀 |
|
| 第4楼 pusofalse | 发表于 2008-06-19 18:35 |
| 银牌会员 发帖 646 积分 1,604 | |
|
for %%a in (a b c d e f g) do dir d:\%%a.txt /b/s/a-d
无比低慢的代码,不过应该会满足你的要求。。 |
|
| 第5楼 yywd | 发表于 2008-06-19 18:50 |
| 中级用户 发帖 130 积分 358 | |
Originally posted by pusofalse at 2008-6-19 18:35: 好像不行, D盘的txt文件名也并不确定 |
|
| 第6楼 pusofalse | 发表于 2008-06-19 18:57 |
| 银牌会员 发帖 646 积分 1,604 | |
|
你确定子目录下不会有重名的文件吗~?而且文件名全是字母?
|
|
| 第7楼 yywd | 发表于 2008-06-19 19:05 |
| 中级用户 发帖 130 积分 358 | |
Originally posted by pusofalse at 2008-6-19 18:57: 子目录不确定有重名的文件,而且文件名不全是字母,可能是中文+字母+数字甚至符号呀 |
|
| 第8楼 pusofalse | 发表于 2008-06-19 19:05 |
| 银牌会员 发帖 646 积分 1,604 | |
|
@echo off&setlocal enabledelayedexpansion
for /r d:\ %%a in (*.txt) do set "%%~na=%%a" for %%a 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 defined %%a echo !%%a! pause>nul |
|
| 第9楼 pusofalse | 发表于 2008-06-19 19:12 |
| 银牌会员 发帖 646 积分 1,604 | |
Originally posted by yywd at 2008-6-19 07:05 PM: Oh my god.... 那你想要输出时,字母在最前面?然后数字,再后中文。。。 还是中文最前,数字最后?~ 中文实在是不好考虑。。。。 |
|
| 第10楼 yywd | 发表于 2008-06-19 19:42 |
| 中级用户 发帖 130 积分 358 | |
Originally posted by pusofalse at 2008-6-19 19:12: 输出时数字在最前面,然后字母,再后中文。。。 |
|
| 第11楼 pusofalse | 发表于 2008-06-19 19:49 |
| 银牌会员 发帖 646 积分 1,604 | |
|
@echo off&setlocal enabledelayedexpansion
for /r d:\ %%a in (*.txt) do set "#%%~na=%%a" for /f "tokens=2 delims==" %%a in ('set #') do echo %%a pause>nul 输出类似于: 1 2 a b c d dp dp23 dpa DP e f 汉字 .... [ Last edited by pusofalse on 2008-6-19 at 07:53 PM ] |
|
| 第12楼 balinger | 发表于 2008-06-19 19:59 |
| 中级用户 发帖 115 积分 356 | |
|
@echo off
if exist "%temp%\list.txt" del /f/a/q "%temp%\list.txt" for /r d: %%i in (*.txt) do echo %%~ni\%%i>>"%temp%\list.txt" for /f "tokens=1* delims=\" %%i in ('more %%temp%%\list.txt^|sort') do echo %%j>>list.txt del /f/a/q "%temp%\list.txt" pause |
|
| 第13楼 yywd | 发表于 2008-06-19 20:08 |
| 中级用户 发帖 130 积分 358 | |
Originally posted by pusofalse at 2008-6-19 19:49: 谢谢您的热心帮助, 这个可以用的 |
|
| 第14楼 yywd | 发表于 2008-06-19 20:11 |
| 中级用户 发帖 130 积分 358 | |
Originally posted by balinger at 2008-6-19 19:59: 谢谢您的热心帮助,您 这个也可以用的 |
|
| 第15楼 PPdos | 发表于 2008-06-19 20:51 |
| 高级用户 发帖 268 积分 783 | |
|
小写了一行 不知是否楼住所要求的 只是将文件名 放在了路径前边 比较快
|
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |