Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.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 使用findstr删除文本行_Windows_Batch File_Cmd_Findstr - Fatal编程技术网

Windows 使用findstr删除文本行

Windows 使用findstr删除文本行,windows,batch-file,cmd,findstr,Windows,Batch File,Cmd,Findstr,我已经通过下面的代码移动了以特定文本开头的行的文件 这之前是可能的,但我想删除文本,除了只有特定文本的行 但我不知道该怎么办 for /f %%a in ('findstr /b /m "a" *.txt') do ( move /y "%%~a" "D:change_text" ) 下面是一个文本示例 例1 到 例2 到 告诉我你的意见 可以用其他语言说。嗯,只查找文本,但不会从文件中删除文本。您正在搜索包含特定文本的文件,然后将其移动到某个位置,因此您错过了

我已经通过下面的代码移动了以特定文本开头的行的文件

这之前是可能的,但我想删除文本,除了只有特定文本的行

但我不知道该怎么办

for /f %%a in ('findstr /b /m "a" *.txt') do (
        move /y "%%~a" "D:change_text"
        )
下面是一个文本示例

例1

例2

告诉我你的意见

可以用其他语言说。

嗯,只查找文本,但不会从文件中删除文本。您正在搜索包含特定文本的文件,然后将其移动到某个位置,因此您错过了实际删除文本的步骤。您可以这样做:

rem/*搜索包含匹配文本的文件并循环浏览; rem由于指定了`/M`选项,因此返回文件名; rem搜索字符串“^a”搜索单词“a”的开头 第`^`、`\>`行的rem构成单词边界:*/ 对于'findstr/M^a\>*.txt'do中的/F delims=eol=|%%F rem/*再次搜索当前文件,但这次返回匹配文本; rem使用重定向“>”将该文本写入另一个文件; rem如果成功`&&`,请删除当前原始文件:*/ >D:\%%~F findstr^a\>%%~F&&del%%~F
b 0.d4g7a6 0.4g1h5s 0.b9g5r2 0.6s7d2f

a 0.6d7g1a 0.6g1g8a 0.6z4s6f 0.g7w2a7x
a 0.6d7g1a 0.6g1g8a 0.6z4s6f 0.g7w2a7x
d 0.5g98 0.6b3n8 0.3s4q2a 0.s3z6d9f
a 1.6g2 0.5c9d4 0.1a7ge2z 0.1fe4sz6x
a 0.3q8t6e 0.5q8r6q 2.1a4zx9vs 0.1q2s6c
z 0.6p2o3t 0.e9 0.1q8s6z 0.v0s9d4f
a 0.7i6i1l 0.6u9q4 0.0c2v9 0.0z5s5d
a 0.9q3z 0.6s7d6f 0.0w3s9f 0.h0y1y8u
a 1.6g2 0.5c9d4 0.1a7ge2z 0.1fe4sz6x
a 0.3q8t6e 0.5q8r6q 2.1a4zx9vs 0.1q2s6c
a 0.7i6i1l 0.6u9q4 0.0c2v9 0.0z5s5d
a 0.9q3z 0.6s7d6f 0.0w3s9f 0.h0y1y8u