[windows] Windows 배치 파일의 숨겨진 기능

Windows 배치 파일의 덜 알려지지 만 중요하고 유용한 기능에는 어떤 것이 있습니까?

지침 :

  • 답변 당 하나의 기능
  • 문서에 대한 링크뿐만 아니라 기능에 대한 간단한 설명예제 를 제공하십시오.
  • 기본 기능에 대한 답변을 제한합니다 . 즉, Windows Resource Kit 와 같은 추가 소프트웨어가 필요하지 않습니다.

설명 : 여기에서는 WinNT 변형의 기본값 인 cmd.exe로 처리되는 스크립트를 참조합니다.

(또한 Windows 배치 파일 : .bat 및 .cmd? 참조 )



답변

줄 연속 :

call C:\WINDOWS\system32\ntbackup.exe ^
    backup ^
    /V:yes ^
    /R:no ^
    /RS:no ^
    /HC:off ^
    /M normal ^
    /L:s ^
    @daily.bks ^
    /F daily.bkf


답변

PUSHD path

path로 지정된 디렉토리로 이동합니다 .

POPD

“밀어 넣은”디렉토리로 돌아갑니다.


답변

배치 파일 에서 이것이 얼마나 유용한 지 잘 모르겠지만 명령 프롬프트에서 사용하는 것이 매우 편리한 명령입니다.

C:\some_directory> start .

“some_directory”폴더에 Windows 탐색기가 열립니다.

나는 이것이 시간을 절약 할 수 있다는 것을 알았습니다.


답변

나는 항상 각 줄에 키워드로 표시된 주석을 읽는 것이 어렵다는 것을 알았습니다.

REM blah blah blah

더 읽기 쉽다 :

:: blah blah blah


답변

가변 부분 문자열 :

> set str=0123456789
> echo %str:~0,5%
01234
> echo %str:~-5,5%
56789
> echo %str:~3,-3%
3456


답변

FOR 명령 ! 배치 파일 작성을 싫어하지만 감사합니다.

FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k

세미콜론으로 시작하는 줄을 무시하고 myfile.txt의 각 줄을 구문 분석하고 쉼표 및 / 또는 공백으로 구분 된 토큰을 사용하여 각 줄에서 for 본문으로 두 번째 및 세 번째 토큰을 전달합니다. for body 문 참조 % i는 두 번째 토큰을 가져오고 % j는 세 번째 토큰을 가져오고 % k는 세 번째 이후의 나머지 토큰을 가져옵니다.

이것을 사용하여 디렉토리, 디렉토리 내용 등을 반복 할 수 있습니다 …


답변

REM 또는 :: 줄로 스크립트를 버리기보다는 각 스크립트의 맨 위에서 다음을 수행합니다.

@echo OFF
goto :START

Description of the script.

Usage:
   myscript -parm1|parm2 > result.txt

:START

파이프 및 리디렉션 문자를 이스케이프하지 않고 사용하는 방법에 유의하십시오.