我不确定完成此操作所需的命令或语法,但考虑到我需要它做什么,我认为这很容易。本质上,我想在 C:\users\ 中搜索 .exe 文件,并将计算机名称、找到的路径文件(这样我就知道用户)和 .exe 文件输出到日志中。我一直在玩 for 循环和 Find。我刚刚发现了 path 命令,所以我试图理解它以及它的用法。
我太糊涂了,甚至不知道如何编写代码。我只知道其中的一些部分,但我对它们了解不够多,无法使它发挥作用。任何帮助或指导都会有很大帮助。
哦,如果可能的话,我想省略搜索用户 /temp 文件夹,或者至少忽略在那里找到的任何内容,这样它们就不会出现在日志文件中。
答案1
在文件夹 C:\users\ 中搜索 .exe 文件
dir C:\users\*.exe /s /b | find ^"temp^" /v /i | findstr /e .exe > UserExecutablePaths.txt
dir /s 递归列出文件夹中的文件以及子文件夹中的文件。
dir /b 以裸格式列出子文件夹/文件的名称。
查找/v 排除“temp”字符串
find /i 不区分大小写
findstr /e :如果位于行尾,则匹配模式 .exe
大于“>”输出到文件 UserExecutablePaths.txt
-编辑-
使用 echo %computername% 将计算机名称添加到文件中
使用与号“&”在一个命令行上分隔多个命令,并输出到文件,将上一个示例中的大于“>”更改为双“>>”,这样就不会覆盖第一个输出。
echo Computer Name = %computername% > UserExecutablePaths.txt & dir C:\users\*.exe /s /b | find ^"temp^" /v /i | findstr /e .exe >> UserExecutablePaths.txt