![배치 스크립트를 사용하여 특정 텍스트를 .txt 파일로 작성](https://rvso.com/image/1438667/%EB%B0%B0%EC%B9%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%8A%B9%EC%A0%95%20%ED%85%8D%EC%8A%A4%ED%8A%B8%EB%A5%BC%20.txt%20%ED%8C%8C%EC%9D%BC%EB%A1%9C%20%EC%9E%91%EC%84%B1.png)
여러 프로그램을 설치하는 스크립트가 있습니다.
이러한 설치를 기록하기 위해 일련의 배치 스크립트를 작성하고 싶습니다.
나는 이 텍스트 파일을 선택하고 파일이 실행될 때마다 파일에 한 줄을 쓸 수 있는 명령을 찾고 싶었습니다.
- 플래시 설치
- 배치 파일이 실행되고 "플래시 설치됨"이라는 텍스트가 기록됩니다.
c:\log\logfile.txt
- 자바 설치
- 배치 파일이 실행되고 "java 설치됨"이라는 텍스트를 씁니다.
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 플래시 확인
KEY_NAMEFP=HklM\Software\macromedia\Flashplayer 설정
VALUE_NAMEFP=현재 버전 설정
for /F "usebackq 토큰=3" %%A IN ( reg query "%KEY_NAMEFP%" /v "%VALUE_NAMEFP%" 2^>nul ^| find "%VALUE_NAMEFP%"
) do ( A=%%A 설정)
에코 플래시 %A%
에코 플래시 %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 ( 세트 B=%%B )
에코 IE 버전 %B%
echo IE 버전 %B%>>%computername%.log
에코 자바 체크
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 )
에코 자바 버전 %C%
에코 Java 버전 %C% >>%computername%.log
정지시키다