Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 搜索文本文件中每行的字符串。如果找到,请将所有行保存到另一个文本文件_Windows_Batch File_Cmd - Fatal编程技术网

Windows 搜索文本文件中每行的字符串。如果找到,请将所有行保存到另一个文本文件

Windows 搜索文本文件中每行的字符串。如果找到,请将所有行保存到另一个文本文件,windows,batch-file,cmd,Windows,Batch File,Cmd,就像创建一个批处理脚本一样。我有一个多行的文本文件。需要每行搜索一个字符串,如果找到,将整行保存到另一个文本文件中。所有带有字符串的行都将保存到新的文本文件中 输入: abcdefgh ghabcdef ; ghijklmno . defghabc abcdefgh ghabcdef defghabc 首选输出: abcdefgh ghabcdef ; ghijklmno . defghabc abcdefgh ghabcdef defghabc 谢谢 (来自

就像创建一个批处理脚本一样。我有一个多行的文本文件。需要每行搜索一个字符串,如果找到,将整行保存到另一个文本文件中。所有带有字符串的行都将保存到新的文本文件中

输入:

abcdefgh

ghabcdef

;

ghijklmno

.

defghabc
abcdefgh

ghabcdef

defghabc
首选输出:

abcdefgh

ghabcdef

;

ghijklmno

.

defghabc
abcdefgh

ghabcdef

defghabc
谢谢

(来自您的评论):

但是,对于和临时文件,您不需要
<代码>查找
在解析STDIN时不写入头。为此,您可以:

type myfile.txt | find "abc" >lsfile.txt

好的你的问题是什么?“我需要…”不是一个问题,而是一个任务请求。你真的在使用MS-DOS吗,80年代的操作系统?嗨,谢谢你的关注。我无法生成一个DOS脚本,该脚本可以用多行搜索文本文件中的特定字符串。脚本需要搜索每一行。如果找到该字符串,则应将该特定行复制到另一个文本文件中。所有带有所需字符串的行都应放在一个新的文本文件中。我希望在这个论坛上有人能帮助我创建这个脚本。我可以在不同的情况下使用它,比如将一组搜索到的字符串分离到不同的文本文件中。谢谢,你用的是什么操作系统?他们是你的朋友。引用的页面是用于
cmd
,但据我记忆所及,自DOS以来,无论是
find
还是重定向都没有太大的变化。NTVDM是内置于基于NT的Windows版本的32位版本的MS-DOS仿真器,没有自己的版本号。原始海报也极不可能使用它。没有理由使用NTVDM在Windows上运行批处理脚本。OP使用Windows命令提示符(
cmd
)或MS-DOS的真实版本。可能是前者。