Board logo

标题: [求助] 输出文本问题 [打印本页]

作者: hackerscans     时间: 2008-7-12 16:45    标题: [求助] 输出文本问题

问题: 在你的D盘根目录下first文件夹中查找所有的TXT文件,并且以下面的格式保存。

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



谢谢。。。
作者: bat-zw     时间: 2008-7-12 17:04
楼主是要以上面的格式保存*txt文件还是将结果保存为文件列表啊?
作者: hackerscans     时间: 2008-7-12 17:09
不好意思,没有说清楚。是把他们以这种格式保存在 wenben.txt中。
作者: bat-zw     时间: 2008-7-12 17:16
wenjian.txt一行保存四个:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /s /b d:\first\*.txt') do (
     set /a n+=1,m+=1
     >>wenjian.txt set /p=d:\first\!n!.txt <nul
     if !m! equ 4 set m=0&echo.
)

作者: hackerscans     时间: 2008-7-12 17:22
先表示感谢。
如果这些TXT文件没有规律呢? 比如有1.txt dir.txt   9a2.txt
作者: bat-zw     时间: 2008-7-12 17:25


  Quote:
Originally posted by hackerscans at 2008-7-12 17:22:
先表示感谢。
如果这些TXT文件没有规律呢? 比如有1.txt dir.txt   9a2.txt

是一样的啊。
作者: hackerscans     时间: 2008-7-12 17:36
我看了老半天才有点明白你的代码。看来我的批处理还是老菜啊。加油学啊


能讲解一下这句吗  >>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 ]
作者: 26933062     时间: 2008-7-12 17:51
4楼漏了一个重定向,导致所有结果都在一行。
作者: HAT     时间: 2008-7-12 18:06
“所有结果都在一行”不正是楼主的需求吗?
作者: HAT     时间: 2008-7-12 18:09
for /f "delims="  %%i  in ('dir /b /s d:\first\*.txt') do set /p=%%i <nul >>wenjian.txt
是的,这个可以。区别在于4楼的代码可以设置每行有几个文件名。
作者: hackerscans     时间: 2008-7-12 18:18
为什么把重定向 放在最前面呢      >>wenjian.txt
作者: pusofalse     时间: 2008-7-12 18:22    标题: to 11楼

echo>1.txt 123
>>1.txt echo 123
echo 123>>1.txt
你试下这样三句。

zw前辈给你写的代码,四个一行的话,把>>wenjian.txt放在复合语句之外即可,紧跟")"
作者: 26933062     时间: 2008-7-12 18:53


  Quote:
Originally posted by HAT at 2008-7-12 18:06:
“所有结果都在一行”不正是楼主的需求吗?

可是4楼说明是4个一行啊?