我有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
答案 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