有一种病毒可以自我复制。
exe 文件的名称都是随机的,但所有应用程序都有一个共同点。应用程序的描述始终是“minecraft”(其他孩子把它放到了电脑上)。
所以我的问题是:如何找到所有带有“minecraft”描述的 exe 文件。
这是一台测试计算机,内存较低,我不想安装任何防病毒软件或扫描仪。
回答这个问题时不要考虑病毒和传播,我只需要一种方法(如果可能的话)根据文件描述来搜索文件。
答案1
您可以使用 PowerShell 实现此目的。例如,您可以使用以下命令显示所有可执行文件及其描述:
Get-ChildItem <your-path>\*.exe -Recurse | select Name,
@{label="Description";expression={$_.VersionInfo.FileDescription}}
管道符号后面的部分会拉出名称和描述。您可以调整此部分以使用 WHERE 调节器搜索特定描述:
Get-ChildItem <your-path>\*.exe -recurse | select Name,
@{label="Description";expression={$_.VersionInfo.FileDescription}} | where
Description -eq 'minecraft'
如果您在使用 WHERE 子句时遇到问题,请尝试 -like 'mine*' 或类似子句。
答案2
CD \
FORFILES /S /M *minecraft* /C "cmd /c echo @path"
这将返回文件名中包含“minecraft”的所有文件名列表
更多信息档案
编辑:需要描述,有人认为在 Windows 之前不需要描述,这就是为什么它不能通过任何“标准”命令获得(也不能使用 WMIC.EXE)
参考:文件描述
@if (@this==@isBatch) @then
@echo off
setlocal enableextensions disabledelayedexpansion
call :listFilesProperties "d:\temp"
goto :eof
:listFilesProperties folder
cscript //nologo //E:JScript "%~f0" "%~f1"
goto :eof
@end
var folderNameSpace = WScript.CreateObject("Shell.Application").NameSpace(WScript.Arguments.Item(0));
for (
var fileEnum = new Enumerator(folderNameSpace.Items());
!fileEnum.atEnd();
fileEnum.moveNext()
){
var fileName = fileEnum.item();
var description = folderNameSpace.GetDetailsOf(fileName, 34);
WScript.Echo( fileName + '|' + description);
};
示例输出:
sqlite-tools-win32-x86-3280000.zip|
SQLite.Interop.dll|System.Data.SQLite Interop Assembly
sqlite3.def|
sqlite3.dll|SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.
sqlite3.exe|SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.
sqlite3_analyzer.exe|