使用DOS批处理文件从文件中删除某些内容 [英] To remove some content from a file using DOS batch file

查看:90
本文介绍了使用DOS批处理文件从文件中删除某些内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个文件'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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆