출처:http://ayonc.tistory.com/27
1. choice
set /p YN=(Y/N)?
:: "set /p 변수명=" 사용자에게 Y/N을 선택할 수 있게한다.
if /i "%YN%" == "y" goto YES
if /i "%YN%" == "n" goto NO
2. 배치파일에 빈 줄 넣기
echo.
:: echo뒤에 점찍으면 줄이 띄어짐
3. 다른 배치파일 호출
call 파일경로
4. 반복문
:LOOP
echo 문자 출력 작업
pause
::pause를 설정하면 사용자가 키를 눌러야 다음으로 넘어간다.
goto LOOP
5. if문
if exist c:\test\ (
echo 있음
) else (
echo 그런거 없음
)
6. 문서에 echo 찍기
:: 파일 뒤에 이어쓰기
echo 안녕하슈 >> test.txt
:: 파일 덮어쓰기
echo 안녕함 > test.txt
7. 매개변수 받기
echo 첫번째인수 : %1
echo 두번째인수 : %2
echo 세번째인수 : %3
c:\>test.bat aa bb cc
첫번째인수 : aa
두번째인수 : bb
세번째인수 : cc
8. 도스에서 폴더를 복사하기
xcopy c:\test\*.* c:\test1\test\ /e /h /k
/e : 비어있는 하위 폴더도 복사
/h : 숨긴 파일, 시스템파일도 복사
/k : 파일 속정 복사. (읽기전용)
::현재 디렉토리에 있는 모든 파일을 다른곳으로 복사
copy . c:\new
9. 파일 확장자 변경
::ren 이름바꾸는 명령어
ren *.txt *.doc
10. 오늘 날짜 출력하기
echo %date%
:: 출력 "금 2013-05-03"
echo %time%
:: 출력 "10:35:03.56"
:: 원하는 모양으로 다듬기
:: 요일제거하고 날짜만 얻기
set myDate=%date:~2%
echo %myDate%
set myDate=
:: 윈도우 2000이상에서 요일 구하기
echo %date:~0,1%요일
11. 컴퓨터 이름 알아내기
:: set만 치면 환경변수가 쫙뜬다.
set
:: 거기서 COMPUTERNAME을 본다. 컴퓨터 이름만 보려면
echo %COMPUTERNAME%
12. echo가 안되는 특수문자(<,>,|)를 출력하기
echo ^>
echo ^<
echo ^|
echo ^^
13. 폴더 삭제 시 "디렉터리가 비어 있지 않습니다." "The directory is not empty"
rmdir /s c:\test\
:: 그 외에 삭제하기
:: 기본
del test.txt
del *.txt
:: 읽기 전용 파일 삭제
del /f test.txt
:: 숨김 파일 삭제
del /a test.txt
14. 폴더 생성하기
md test1
:: 하위 폴더도 생성
md test1\test2\test3
15. 텍스트 파일에 줄번호 붙여서 출력하기
:: 빈줄은 세지 못함.. <,>,| 이런 기호는 출력못함
for /f "delims=" %%i in (test.txt) do call :FUNCTION %%i
goto :EOF
:FUNCTION
set /a SUM=%SUM% + 1
echo %SUM%: %*
16. 배치파일에서 서브루틴 구현
:: call 로 FOO를 호출 5,6을 인수로 준다.
call :FOO 5 6
goto :EOF
:FOO
set /a RESULT=%1 * %2
echo %RESULT%
17. 배치파일에서 문자열 다루기
set string=abcdefghi
:: 추출하기 2번째 글자부터 시작해서 3글자까지 추출하기
set newstring=%string:~2,3%
echo %newstring%
18. 랜덤 숫자 만들기 1~100 까지 20출력
set num
:LOOP
set /a myNum=%RANDOM% %% 100+1
echo %myNum%
set /a count+=1
if %count% GEQ 20 goto QUIT
goto LOOP
:QUIT
19. if문 쓰는법
:: if 조건문 실행문
if "%1" == "/?" goto HELP
:: /i옵션을 붙이면 대소문자 구분없이 문자열을 비교
if /i "%1" == "-h" goto HELP
20. for문 쓰기
:: for 변수 in 대상 파일 범위 do 실행할 명령어, 옵션
for %%i in (*.*) do attrib "%%i"
:: /d : 파일이 아닌 디렉토리를 대상으로함
:: /r : 하위 파일까지 처리
21. sort 명령 사용 : txt파일 안에 내용을 순서대로 정렬하여 출력
sort test.txt
:: 다른 파일로 출력
sort test.txt >> out.txt
22. 배치파일 반환 값 설정하기
:: 강제적으로 반환값을 설정
@exit /b %1
23. 배치파일 종료시 변수 자동으로 지우기
:: 변수를 정의하기 전에 setlocal추가 이 다음에 선언된 변수는 자동으로 사라짐
setlocal
set Test=foo
echo %Test%
:: 기존 환경변수와 같은 이름의 변수명을 써야할 때
set Path=C:\test\
:: 배치파일 내에서 setlocal을 중간에 끝내야 할때. 실제 환경변수를 써야할때
endlocal
echo %Path%
:: Test는 사라짐.
24. 윈도우 에서 grep하기
:: 시그윈을 설치하면 grep쓸수 있음
:: 그거 말고도 findstr을 사용
findstr /?
25. 주석은 '::' 나 rem을 사용
:: 주석문
rem 주석문
26. 프로그램이나 명령어를 수행할때, 그 프로그램이나 명령문이 성공적으로 끝나면 os에 0을 반환한다.
하지만 실패하거나 문제가 있을때는 0이 아닌 값을 출력한다. 좀 더 특수한 문제가 있잇을때 프로그래머의 마음에 따라 숫자를 지정할 수도 있다.
echo %ERRORLEVEL%
if not "%errorlevel%" == "0" goto ERROR
goto OK
:ERROR
echo failed!
goto QUIT
:OK
echo success!
goto QUIT
:QUIT
27. 파일 비교하기.
fc /?
fc test1.txt test2.txt
:: 공백무시하고 비교
fc /w test1.txt test2.txt
:: 바이너리파일 비교
fc /b test1.exe test2.exe
'IT기술 관련 > 윈도우' 카테고리의 다른 글
Windows 부팅 시 프로그램 자동 실행 설정하기 (0) | 2016.08.24 |
---|---|
윈도우 7 노트북 무선AP 만들기 (0) | 2016.08.23 |
환경 변수 설정하기 (0) | 2016.07.20 |
공유 폴더와 관련된 레지스트리값 (0) | 2016.07.20 |
방화벽 관련 레지스트리 (0) | 2016.07.19 |