使用 Windows cmd 中的命令选择一行

使用 Windows cmd 中的命令选择一行

我创建了一个批处理文件,该文件重定向到纯文本文件。该批处理文件的作用是转到上述路径,然后执行 dir 命令,并将输出定向到文本文件。

现在,当我打开文本文件时,我可以看到整个树,但是当我最后修改时我只想要一个文件夹。

因此,有人可以建议我必须给出什么命令以便它只选择该文件夹并将其打印到我的文本文件中。

以下是我的批处理文件的内容:

S:
cd S:\log\logit-esb\dhl\subscriptions
dir >> D:\Abhi_Work\System_Monitoring\System_monitoring.txt

当我运行下面的批处理文件时,输出直接发送到我的文本文件。

 Directory of S:\log\logit-esb\dhl\subscriptions

05/01/2015  04:25 PM    <DIR>          .
05/01/2015  04:25 PM    <DIR>          ..
05/01/2015  04:25 PM    <DIR>          processed
               0 File(s)              0 bytes
               3 Dir(s)   4,682,932,224 bytes free
 Volume in drive S is System
 Volume Serial Number is 42A7-D3B7

我的要求是我只希望在输出文件中显示以下行

05/01/2015  04:25 PM    <DIR>          processed

所以有人能帮助我实现这个目标吗?

答案1

批处理文件中的以下命令将执行您想要的操作:

dir | findstr "processed" >> D:\Abhi_Work\System_Monitoring\System_monitoring.txt

您首先应该确保System_monitoring.txt它是一个空文件,因为它将>>附加到该文件...


来源在文件中搜索字符串。

管道和重定向

文本文件可以通过管道传输或重定向到 FINDSTR:

来自管道的数据流类型 file.txt | FINDSTR“searchString”

通过重定向 FINDSTR “searchString” 的标准输入

各种数据源规范是互斥的 - FINDSTR 只能与下列之一一起使用:文件名参数、/F:文件选项、重定向输入或管道输入

答案2

这是 Windows 7 中包含的 Powershell,它将显示路径中最近修改的文件夹。

get-childitem -path c: | sort-object LastWriteTime -descending | select -first 1 | format-table -hidetableheaders

相关内容