使用DOS批处理文件从文件中删除某些内容 [英] To remove some content from a file using DOS batch file
问题描述
我有一个文件'Text.dat',其中包含一些不需要的数据.我需要编写一个DOS批处理文件以删除不需要的数据,并将其放入其他文件中,例如"file2.dat",并仅保留具有所需数据的原始文件.请帮助
I have a file 'Text.dat' which contains some unwanted data. I need to write a DOS batch file to remove the unwanted data and put it in some other file say,'file2.dat' and leave the original file with reqired data alone. Pls help
推荐答案
我将使用findstr
代替find
,它是更强大的find
.
Instead of find
I would use findstr
which is a more powerful find
.
要创建仅包含不需要的数据的文件,请执行以下操作:
To create a file consisting of only the unwanted data:
findstr "unwanted" text.dat > unwanted.dat
要从text.dat中创建一个新文件,并删除不需要的"数据:
To create a new file from text.dat with the "unwanted" data removed:
findstr /v "unwanted" text.dat > text_cleaned.dat
在线findstr
参考这里.
完整的命令行参考:
C:\>findstr /?
Searches for strings in files.
FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
[/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
strings [[drive:][path]filename[ ...]]
/B Matches pattern if at the beginning of a line.
/E Matches pattern if at the end of a line.
/L Uses search strings literally.
/R Uses search strings as regular expressions.
/S Searches for matching files in the current directory and all
subdirectories.
/I Specifies that the search is not to be case-sensitive.
/X Prints lines that match exactly.
/V Prints only lines that do not contain a match.
/N Prints the line number before each line that matches.
/M Prints only the filename if a file contains a match.
/O Prints character offset before each matching line.
/P Skip files with non-printable characters.
/OFF[LINE] Do not skip files with offline attribute set.
/A:attr Specifies color attribute with two hex digits. See "color /?"
/F:file Reads file list from the specified file(/ stands for console).
/C:string Uses specified string as a literal search string.
/G:file Gets search strings from the specified file(/ stands for console).
/D:dir Search a semicolon delimited list of directories
strings Text to be searched for.
[drive:][path]filename
Specifies a file or files to search.
Use spaces to separate multiple search strings unless the argument is prefixed
with /C. For example, 'FINDSTR "hello there" x.y' searches for "hello" or
"there" in file x.y. 'FINDSTR /C:"hello there" x.y' searches for
"hello there" in file x.y.
Regular expression quick reference:
. Wildcard: any character
* Repeat: zero or more occurances of previous character or class
^ Line position: beginning of line
$ Line position: end of line
[class] Character class: any one character in set
[^class] Inverse class: any one character not in set
[x-y] Range: any characters within the specified range
\x Escape: literal use of metacharacter x
\<xyz Word position: beginning of word
xyz\> Word position: end of word
这篇关于使用DOS批处理文件从文件中删除某些内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!