中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 04:12
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助] 输出文本问题
可打印版本  775 / 12
第1楼 hackerscans 发表于 2008-07-12 16:45
初级用户 发帖 51 积分 73
[求助] 输出文本问题
问题: 在你的D盘根目录下first文件夹中查找所有的TXT文件,并且以下面的格式保存。

d:\first\1.txt d:\first\2.txt d:\first\3.txt



谢谢。。。
第2楼 bat-zw 发表于 2008-07-12 17:04
金牌会员 发帖 1,276 积分 3,105
楼主是要以上面的格式保存*txt文件还是将结果保存为文件列表啊?
第3楼 hackerscans 发表于 2008-07-12 17:09
初级用户 发帖 51 积分 73
不好意思,没有说清楚。是把他们以这种格式保存在 wenben.txt中。
第4楼 bat-zw 发表于 2008-07-12 17:16
金牌会员 发帖 1,276 积分 3,105
wenjian.txt一行保存四个:
第5楼 hackerscans 发表于 2008-07-12 17:22
初级用户 发帖 51 积分 73
先表示感谢。
如果这些TXT文件没有规律呢? 比如有1.txt dir.txt 9a2.txt
第6楼 bat-zw 发表于 2008-07-12 17:25
金牌会员 发帖 1,276 积分 3,105
Originally posted by hackerscans at 2008-7-12 17:22:
先表示感谢。
如果这些TXT文件没有规律呢? 比如有1.txt dir.txt 9a2.txt

是一样的啊。
第7楼 hackerscans 发表于 2008-07-12 17:36
初级用户 发帖 51 积分 73
我看了老半天才有点明白你的代码。看来我的批处理还是老菜啊。加油学啊


能讲解一下这句吗 >>wenjian.txt set /p=d:\first\!n!.txt <nul
这样没有参数%%i 也可以把文本文件写到wenjian.txt 中吗?


还有 for /f "delims=" %%i in ('dir /b /s d:\first\*.txt') do set /p=%%i <nul >>wenjian.txt
这句也可以实现把。

[ Last edited by hackerscans on 2008-7-12 at 05:53 PM ]
第8楼 26933062 发表于 2008-07-12 17:51
银牌会员 发帖 879 积分 2,268
4楼漏了一个重定向,导致所有结果都在一行。
第9楼 HAT 发表于 2008-07-12 18:06
版主 发帖 5,017 积分 9,023
“所有结果都在一行”不正是楼主的需求吗?
第10楼 HAT 发表于 2008-07-12 18:09
版主 发帖 5,017 积分 9,023
for /f "delims=" %%i in ('dir /b /s d:\first\*.txt') do set /p=%%i <nul >>wenjian.txt
是的,这个可以。区别在于4楼的代码可以设置每行有几个文件名。
第11楼 hackerscans 发表于 2008-07-12 18:18
初级用户 发帖 51 积分 73
为什么把重定向 放在最前面呢 >>wenjian.txt
第12楼 pusofalse 发表于 2008-07-12 18:22
银牌会员 发帖 646 积分 1,604
to 11楼
echo>1.txt 123
>>1.txt echo 123
echo 123>>1.txt
你试下这样三句。

zw前辈给你写的代码,四个一行的话,把>>wenjian.txt放在复合语句之外即可,紧跟")"
第13楼 26933062 发表于 2008-07-12 18:53
银牌会员 发帖 879 积分 2,268
Originally posted by HAT at 2008-7-12 18:06:
“所有结果都在一行”不正是楼主的需求吗?

可是4楼说明是4个一行啊?
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023