![Запишите определенный текст в файл .txt с помощью пакетного скрипта](https://rvso.com/image/1438667/%D0%97%D0%B0%D0%BF%D0%B8%D1%88%D0%B8%D1%82%D0%B5%20%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9%20%D1%82%D0%B5%D0%BA%D1%81%D1%82%20%D0%B2%20%D1%84%D0%B0%D0%B9%D0%BB%20.txt%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BD%D0%BE%D0%B3%D0%BE%20%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B0.png)
У меня есть скрипт, который устанавливает несколько программ.
Я хотел бы написать серию пакетных скриптов для регистрации этих установок.
Я надеялся найти команду, которая позволила бы мне выбрать этот текстовый файл и записывать в него строку при каждом его запуске.
- флэш-установки
- пакетный файл запускается и регистрирует текст «flash installed»
c:\log\logfile.txt
- установки Java
- пакетный файл запускается и записывает текст «java installed» в
c:\log\logfile.txt
- и так далее
так что в файле журнала по завершении он будет иметь
flash installed
java installed
chrome installed
so on
так далее
Однако я нахожу много скриптов для записи в определенные строки или редактирования определенных строк текста. Я не вижу никаких скриптов для записи в следующую пустую строку. Возможно, я иду не тем путем.
решение1
Кдобавитьстроку в текстовый файл с помощью пакетного скрипта командной строки Windows, вы можете использовать перенаправление вывода, используя знак «больше» дважды >>
. Например
echo "java installed" >> c:\log\logfile.txt
Связанный:
- Добавить stdout в файл из терминала?(OSX, но также применимо)
- Использование операторов перенаправления команд(XP, но в основном все еще применимо)
- Перенаправление сообщений об ошибках из командной строки: STDERR/STDOUT
решение2
Привет, я на самом деле сейчас ищу ответ на другой вопрос и наткнулся на это, поэтому я просто подумал, что опубликую скрипт, который я сделал на своей последней работе.
@echo off echo Flash Check
установить KEY_NAMEFP=HklM\Software\macromedia\Flashplayer
установить VALUE_NAMEFP=ТекущаяВерсия
для /F "usebackq tokens=3" %%A IN ( reg query "%KEY_NAMEFP%" /v "%VALUE_NAMEFP%" 2^>nul ^| find "%VALUE_NAMEFP%"
) сделать ( установить A=%%A )
Эхо Флэш %A%
echo Flash %A%>>%имя_компьютера%.log
эхо IE Проверить
set KEY_NAMEIE=HklM\Software\microsoft\internet explorer set VALUE_NAMEIE=svcVersion for /F "usebackq tokens=3" %%B IN ( reg query "%KEY_NAMEIE%" /v "%VALUE_NAMEIE%" 2^>nul ^| find "%VALUE_NAMEIE%"
) do ( set B=%%B )
эхо IE Версия %B%
echo Версия IE %B%>>%имя_компьютера%.log
Проверка эхо-Java
set KEY_NAMEJ=HKLM\SOFTWARE\JavaSoft\Java Runtime Environment set VALUE_NAMEJ=CurrentVersion for /F "usebackq tokens=3" %%C IN ( reg query "%KEY_NAMEJ%" /v "%VALUE_NAMEJ%" 2^>nul ^| find "%VALUE_NAMEJ%"
) do ( set C=%%C )
эхо Версия Java %C%
echo Версия Java %C% >>%имя_компьютера%.log
Пауза