2

Я не уверен в командах или синтаксисе, необходимых для выполнения этого, но я подумал, что будет легко подумать, что мне нужно сделать. По сути, я хочу найти C:\users\ для файлов .exe и вывести имя компьютера, файл пути был найден, чтобы я знал пользователя, и файл .exe в журнал. Я играл с для петель и поиска. Я только что обнаружил команду пути, поэтому я пытаюсь понять, как и как ее можно использовать.

Я так запутался, что даже не знал, как это закодировать. Я просто знаю кое-что из этого, но я не знаю их достаточно хорошо, чтобы что-то из этого получилось. Любая помощь или руководство очень помогло бы.

Да, и, если возможно, я бы хотел пропустить поиск в папках users /temp или, по крайней мере, игнорировать все найденные там, чтобы их не было в файле журнала.

1 ответ1

6

Для поиска в папке C:\users\ for .exe файлы

dir C:\users\*.exe /s /b | find ^"temp^" /v /i | findstr /e .exe > UserExecutablePaths.txt

dir /s Список файлов в папке, а также рекурсивно.

dir /b Перечисляет имена подпапок / файлов в чистом формате.

найти /v исключить строку "temp"

найти / я не чувствителен к регистру

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .