如何将批处理文件中find命令的输出捕获到变量中

问题描述:

FOR /F %%G IN ('find /i "%Today%" ^< db_backup_%Today%.log') DO (  
    set T=%%G 
)  
echo %T% 

这里,今天是时间戳 - yyyymmdd格式。我在我生成的名为db_backup_%Today%.log的文件中搜索该匹配项。如何将批处理文件中find命令的输出捕获到变量中

我想输出(如:2013-04-24-07.26.18)保存find命令的一个变量T.

+0

发布日志的内容请 – ElektroStudios 2013-04-24 03:42:24

+0

您的代码将按照原样进行操作。您可以添加“delims =”,以便捕获整条线。 – foxidrive 2013-04-24 04:11:56

试试这个(见@foxidrive的评论):

FOR /F "delims=" %%G IN ('find /i "%Today%" ^< db_backup_%Today%.log') DO (  
    set "T=%%G" 
)  
echo %T% 
+0

@foxidrive说这是一个不好的做法,划定一个不好的做法是,考虑使用“Tokens = *”而不是。 – ElektroStudios 2013-04-24 07:21:09

+0

@Elektro Hacker否,'“Tokens = *”'无效。它可以改变一个字符串的值! – Endoro 2013-04-24 07:36:05