标题: [求助] 输出文本问题
[打印本页]
作者: 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个一行啊?