标题: 批处理部分文档
[打印本页]
作者: 26933062
时间: 2007-5-15 22:03
标题: 批处理部分文档
abc.txt 内容如下
slfjf
djf;djfd;sfjdsfsd;
sffsfsfsfshsfsfsdf;dsf
dfjdsfjd;sfjsjfsjf
ffsdfs
1234567
jggggkgkgsjfgfg
gsdggfgggafgagag af
ggafg
dgfdsgfsdg
dfgsdfg
sdfgsd
fgfg
目的:
建一批处理,循环abc.txt将1234567以下的内容写入到aaa.txt中,包括空行
[ Last edited by 26933062 on 2007-5-15 at 10:06 PM ]
作者: dikex 时间: 2007-5-15 22:24
不用循环的方法
for /f "delims=:" %%i in ('findstr /x /n "1234567" abc.txt') do type abc.txt | more +%%i >aaa.txt
作者: 26933062 时间: 2007-5-15 23:01
强,太强了,学习,谢谢!!!
作者: 26933062 时间: 2007-5-15 23:20
dikex 你好,感谢你的回答
还想请教一个问题.我想直接把abc.txt拖放到这个批处理上就能达到效果,该怎么弄,我是这样的,怎么不行呢?
显示系统找不到指定的文件.
@echo off
for /f "delims=:" %%i in ('findstr /x /n "1234567" %1') do (
type abc.txt | more +%%i >aaa.txt
)
pause
[ Last edited by 26933062 on 2007-5-15 at 11:30 PM ]
作者: dikex 时间: 2007-5-15 23:25
@echo off
set /p fn=输入文件路径(可拖进来):
for /f "delims=:" %%i in ('findstr /x /n "1234567" "%fn%"') do (
type "%fn%" | more +%%i >aaa.txt
)
pause
作者: 26933062 时间: 2007-5-15 23:32
我想你可能没明白我的意识,我的意识是,拖进来后,就直接处理,不需要再输入什么
作者: dikex 时间: 2007-5-15 23:38
5楼的那个在把文件拖进去批处理窗口后按一下回车就会处理,但什么也不用按貌似不行,不知哪位知道?
作者: lxmxn 时间: 2007-5-16 00:02
for /f "delims=:" %%i in ('findstr /x /n "1234567" "%~s1"') do type "%~s1" | more +%%i >aaa.txt
作者: 26933062 时间: 2007-5-16 00:09
版主的这个虽然能完全运行,但是没有结果啊?
就是没有aaa.txt这个文件
作者: lxmxn 时间: 2007-5-16 00:13
能运行应该有结果的,你在%userprofile%里面找找。
作者: 26933062 时间: 2007-5-16 00:20
谢谢,果然有,
奇怪,怎么跑到那里去了????
作者: lxmxn 时间: 2007-5-16 00:22
系统cmd的默认配置目录是%UserProfile%目录,所以运行之后生成到那里了。