在 cmd 查找命令中添加多个搜索
Add Multiple Searches in cmd Find Command
我正在寻找在 cmd 的 Find 命令中添加数组或多个搜索,但我一尝试它就什么都不做以下命令在一个输入下工作正常。
对于一个输入:
Find /V "/1001214955/" Scan-FtpOut.txt > Ftp_New.txt
对于多个输入:
Find /V "/1001214955/ | /WENP/ " Scan-FtpOut.txt > Ftp_New.txt
Find /V "/1001214955/ -o /WENP/" Scan-FtpOut.txt > Ftp_New.txt
没有任何工作请协助。
用 2 个命令完成
Find /V "/1001214955/ | /WENP/ " Scan-FtpOut.txt > Ftp_New.txt
发送 {Enter}
Find /V "/1001214955/ -o /WENP/" Scan-FtpOut.txt > Ftp_New.txt
发送 {Enter}
作为我的评论的后续,并向您展示我的评论命令完全按照给定的方式工作,(删除 Scan-FtpOut.txt
中包含确切字符串 /1001214955/
或包含精确区分大小写的字符串 /WENP/
,并将其输出到 Ftp_New.txt
).
这里是一个例子 Scan-FtpOut.txt
文件:
200 PORT command successful.
150 Opening data connection for /WENP/Faketest (467 bytes).
226 Transfer complete.
467 bytes transferred in 2.845 seconds. Transfer rate 0.167KB/sec.
200 PORT command successful.
150 Opening data connection for /1001214955/Faketest (467 bytes).
226 Transfer complete.
467 bytes transferred in 2.845 seconds. Transfer rate 0.167KB/sec.
这里是运行@%SystemRoot%\System32\findstr.exe /R /V "\/1001214955\/ \/WENP\/" "Scan-FtpOut.txt" 1>"Ftp_New.txt"
之后Ftp_New.txt
的内容:
200 PORT command successful.
226 Transfer complete.
467 bytes transferred in 2.845 seconds. Transfer rate 0.167KB/sec.
200 PORT command successful.
226 Transfer complete.
467 bytes transferred in 2.845 seconds. Transfer rate 0.167KB/sec.
这里是运行@%SystemRoot%\System32\findstr.exe /R /V "[/]1001214955[/] [/]WENP[/]" "Scan-FtpOut.txt" 1>"Ftp_New.txt"
之后Ftp_New.txt
的内容:
200 PORT command successful.
226 Transfer complete.
467 bytes transferred in 2.845 seconds. Transfer rate 0.167KB/sec.
200 PORT command successful.
226 Transfer complete.
467 bytes transferred in 2.845 seconds. Transfer rate 0.167KB/sec
这里是运行@%SystemRoot%\System32\findstr.exe /L /V /C:"/1001214955/" /C:"/WENP/" "Scan-FtpOut.txt" 1>"Ftp_New.txt"
之后Ftp_New.txt
的内容:
200 PORT command successful.
226 Transfer complete.
467 bytes transferred in 2.845 seconds. Transfer rate 0.167KB/sec.
200 PORT command successful.
226 Transfer complete.
467 bytes transferred in 2.845 seconds. Transfer rate 0.167KB/sec
如您所见,我最初提供的每个命令的结果都显示了预期的结果!
在所有受支持的 Windows 系统上可用的 PowerShell 具有比 findstr.exe
更完整的 regex
实现。使用 PowerShell 正则表达式意味着您可以使用网络上可用的许多正则表达式信息源。
基于 ,这里是如何在 [cmd]
脚本或命令中完成的。
powershell.exe -NoLogo -NoProfile -Command ^
"(Select-String -Pattern '^(?!.*(/1001214955/|/WENP/)).*$' -Path .\Scan-FtpOut.txt).Line >'.\Scan-FtpOut-New.txt'"
如果脚本是用 [powershell]
而不是 [cmd]
编写的,那么会更容易理解,而不是 [cmd]
。
我正在寻找在 cmd 的 Find 命令中添加数组或多个搜索,但我一尝试它就什么都不做以下命令在一个输入下工作正常。
对于一个输入:
Find /V "/1001214955/" Scan-FtpOut.txt > Ftp_New.txt
对于多个输入:
Find /V "/1001214955/ | /WENP/ " Scan-FtpOut.txt > Ftp_New.txt
Find /V "/1001214955/ -o /WENP/" Scan-FtpOut.txt > Ftp_New.txt
没有任何工作请协助。
用 2 个命令完成
Find /V "/1001214955/ | /WENP/ " Scan-FtpOut.txt > Ftp_New.txt
发送 {Enter}
Find /V "/1001214955/ -o /WENP/" Scan-FtpOut.txt > Ftp_New.txt
发送 {Enter}
作为我的评论的后续,并向您展示我的评论命令完全按照给定的方式工作,(删除 Scan-FtpOut.txt
中包含确切字符串 /1001214955/
或包含精确区分大小写的字符串 /WENP/
,并将其输出到 Ftp_New.txt
).
这里是一个例子 Scan-FtpOut.txt
文件:
200 PORT command successful.
150 Opening data connection for /WENP/Faketest (467 bytes).
226 Transfer complete.
467 bytes transferred in 2.845 seconds. Transfer rate 0.167KB/sec.
200 PORT command successful.
150 Opening data connection for /1001214955/Faketest (467 bytes).
226 Transfer complete.
467 bytes transferred in 2.845 seconds. Transfer rate 0.167KB/sec.
这里是运行@%SystemRoot%\System32\findstr.exe /R /V "\/1001214955\/ \/WENP\/" "Scan-FtpOut.txt" 1>"Ftp_New.txt"
之后Ftp_New.txt
的内容:
200 PORT command successful.
226 Transfer complete.
467 bytes transferred in 2.845 seconds. Transfer rate 0.167KB/sec.
200 PORT command successful.
226 Transfer complete.
467 bytes transferred in 2.845 seconds. Transfer rate 0.167KB/sec.
这里是运行@%SystemRoot%\System32\findstr.exe /R /V "[/]1001214955[/] [/]WENP[/]" "Scan-FtpOut.txt" 1>"Ftp_New.txt"
之后Ftp_New.txt
的内容:
200 PORT command successful.
226 Transfer complete.
467 bytes transferred in 2.845 seconds. Transfer rate 0.167KB/sec.
200 PORT command successful.
226 Transfer complete.
467 bytes transferred in 2.845 seconds. Transfer rate 0.167KB/sec
这里是运行@%SystemRoot%\System32\findstr.exe /L /V /C:"/1001214955/" /C:"/WENP/" "Scan-FtpOut.txt" 1>"Ftp_New.txt"
之后Ftp_New.txt
的内容:
200 PORT command successful.
226 Transfer complete.
467 bytes transferred in 2.845 seconds. Transfer rate 0.167KB/sec.
200 PORT command successful.
226 Transfer complete.
467 bytes transferred in 2.845 seconds. Transfer rate 0.167KB/sec
如您所见,我最初提供的每个命令的结果都显示了预期的结果!
在所有受支持的 Windows 系统上可用的 PowerShell 具有比 findstr.exe
更完整的 regex
实现。使用 PowerShell 正则表达式意味着您可以使用网络上可用的许多正则表达式信息源。
基于 ,这里是如何在 [cmd]
脚本或命令中完成的。
powershell.exe -NoLogo -NoProfile -Command ^
"(Select-String -Pattern '^(?!.*(/1001214955/|/WENP/)).*$' -Path .\Scan-FtpOut.txt).Line >'.\Scan-FtpOut-New.txt'"
如果脚本是用 [powershell]
而不是 [cmd]
编写的,那么会更容易理解,而不是 [cmd]
。