Отредактировано с рекомендациями пользователя:
У меня есть скрипт, который я запускаю на тысячах серверов, который компилирует ключевые слова из журналов и выводит, сколько раз они встречаются в текстовом файле.Вывод выглядит так для каждого отдельного сервера:
---------- C:\TEMP\TEXT.001: 0
---------- C:\TEMP\TEXT.002: 0
---------- C:\TEMP\TEXT.003: 2
---------- C:\TEMP\TEXT.004: 0
---------- C:\TEMP\TEXT.005: 1
Последнее число после двоеточия - это количество раз, когда ключевое слово присутствует в файле журнала.Таким образом, у меня есть файл результатов с тысяч серверов, где я затем использую xcopy для перемещения в свою папку в той же папке.
После перемещения файлов в мой ящик, у меня есть скрипт, который удаляет все данные после двоеточия, а затем находит сумму.В некоторой степени это работает, но работает только с одним файлом:
@Echo off
set "Total=0"
for /f "tokens=3 delims=:" %%a in (Server1_Count.txt) do Set /a "Total+=%%a"
(echo %%a >> Server1_CountCompleted.txt Total is %Total%)
У меня есть две проблемы, с которыми я борюсь:
- Мне нужно создать цикл, в котором он будет попадать в каждый файл в той же папке, заканчивающийся * __ Count.txt, а затем создавать новый вывод * _CountCompleted.txt. Все файлы начинаются с разных имен хостов, и я пытался использоватьподстановочный знак безрезультатен. (то есть: предполагается, что server1_Count.txt, server2_count.txt будет генерировать server1_CountCompleted.txt, server2_CountCompleted)
- Мой текущий вывод для этого сценария может быть направлен только в один файл, и он генерируетновый файл, который выглядит следующим образом:
% a Итого 34
Есть ли способ добавить имя хоста (начальный префикс имени файла) кбудет отображаться во вновь созданном файле, например:
server1 Всего 34