批处理脚本查找和写入?

时间:2014-01-13 17:02:12

标签: batch-file find

我有log_prof_info_xxx random number xxx.txt个文件(此文件创建为最后日期和时间)

此行中的文件为h ttp://ipadres:DIGIT(port)/live/path_DIGIT(数字仅为数字但可变)

我想在该文件中找到该行并将其保存到外部文件中?

示例:log_prof_info_809809808.txt内容为

h ttp://234.56.78:68912/live/osidosi_89797987

我尝试了代码但没有工作:(

for /f "tokens=*" %%A in ("findstr "h ttp://234.56.78:[0-9]/live/osidosi_[0-9]" log_prof_info_809809808.txt") do ECHO %%A>>extractedline.txt

3 个答案:

答案 0 :(得分:1)

for /?说:

FOR /F ["Options"] %variable IN ('command') DO command[Parameter]

请注意单引号'

将命令放在单引号而不是双引号中。 而且:你在*两次之后忘记了[0-9](重复以前的字符)

for /f "tokens=*" %%A in ('findstr "h ttp://234.56.78:[0-9]*/live/osidosi_[0-9]*" log_prof_info_809809808.txt') do ECHO %%A>>extractedline.txt

h ttp中有一个空格 - 我认为,你知道这一点)

答案 1 :(得分:1)

findstr /r /i /c:"h ttp://234.56.78:[0-9]*/live/osidosi_[0-9]*" log_prof_info_809809808.txt>extractedline.txt

对我来说很好 - 不需要FOR并注意上面的>会创建一个包含一行的新输出文件。如果您要附加到任何现有内容,则应将其更改为>>

答案 2 :(得分:0)

试试这一行:

for /f "delims=" %%A in (' findstr "h ttp:\/\/234.56.78:[0-9]\/live\/osidosi_[0-9]" "log_prof_info_809809808.txt" ') do >>extractedline.txt ECHO %%A