Windows의 명령 줄에서 스크린 샷 찍기


51

커맨드 라인에서 전체 화면의 스크린 샷을 만드는 방법을 찾고 있습니다. 운영 체제는 Windows입니다. 이 같은:

C:\>screenshot.exe screen1.png

1
왜 그런 식으로 하시겠습니까? 명백한 결함 (현재 작업중인 명령 줄의 스크린 샷 만 찍을 수 있음) 외에도 이러한 목적을위한 "일반적인"솔루션의 문제점은 무엇입니까?
— Rook

7
왜 cmd 줄만 찍는 것이 제한됩니까? 나는 질문이 자동화 라인을 따라 더 많이 가고 있다고 생각합니다.
— Gerd Klima

글쎄, 그가 스크린 샷을 찍고 자하는 순간, 그는 명령을 내리기 위해 enter 키를 눌러야합니다. 물론 스크립트를 사용하여 시간을 활성화 할 수는 있지만 실제로 뜨거운 물을 재창조하고 있습니다.
— Rook

Thunderbird에서 eml 파일을 열고, 스크린 샷을 찍고, 다른 파일을 열고, 다른 화면을 찍는 스크립트를 작성하고 싶습니다 ... 폴더의 모든 파일에 대해. 커맨드 라인에서 스크린 샷 도구를 실행하여 자동화 할 수 있습니다. 분명히하기 위해 명령 줄의 스크린 샷을 찍지 않고 전체 화면을 찍고 싶습니다. 사실, 나는 이미 스크립트를 작성했으며 스크린 샷을 찍을 수있는 더 많은 옵션을 찾고 있습니다.
— Željko Filipin

2
@Idigias : 우선 화면이 CMD 상자보다 큽니다. 그러나 두 번째로, 스크립트가 GUI 도구를 시작하면 해당 GUI 도구에 초점이 맞춰집니다. 따라서 "분명한 결함"은 분명하지 않으며 결함도 없습니다. 명령 행으로 작업 한 적이 있습니까?
— tvCa

답변:


26

imagemagick를 다운로드하십시오 . 많은 명령 줄 이미지 조작 도구가 포함되어 있습니다. 가져 오기를 사용하면 일부 또는 모든 화면을 캡처하고 이미지를 파일로 저장할 수 있습니다. 예를 들어, 전체 화면을 jpeg로 저장하려면 :

import -window root screen.jpeg

마우스를 사용하여 창 내부를 클릭하거나 화면 영역을 선택하고 png를 저장하려면 다음을 사용하십시오.

import box.png

13
이것은 Windows에서 작동하지 않는 것 같습니다. 파일을 찾을 수 없다는 X 서버 오류가 발생합니다.
— Binary Phile

2
@BinaryPhile Yea Cygwin에서 실행되는 X 서버에서만 작동한다고 생각합니다.
— CMCDragonkai

여전히 나를 위해 작동하지 않습니다. 스크린 샷이 표시되지만 X 응용 프로그램 만 표시됩니다 (예상대로).
— reinierpost

흠, ImageMagick은 25Mb이며 멋진 물건을 TON합니다. 아래 screenCapture.bat는 9Kb이며 OP가 요청한 것과 정확히 동일합니다. ImageMagick의 크기는 .04 %입니다.
— johny 왜

41

이 질문에 대해서는 이미 답변을 받았지만 이것도 넣을 것이라고 생각했습니다. NirCmd (슬프게도 오픈 소스가 아닌 프리웨어)는 명령 줄에서 스크린 샷을 찍을 수있는 다른 여러 기능과 함께 사용할 수 있습니다.

nircmd.exe의 디렉토리에 있거나 명령을 사용하여 system32 폴더에 복사 한 경우 :

nircmd.exe savescreenshot screen1.png

당신이 원하는 것을합니다. 다음과 같이 지연시킬 수도 있습니다.

nircmd.exe cmdwait 2000 savescreenshot screen1.png

그러면 2000 밀리 초 (2 초) 동안 기다린 다음 스크린 샷을 캡처하여 저장합니다.


Nircmd여러 화면을 지원하지 않습니다. 기본 화면 만 캡처합니다.
— 토마스 웰러

1
최신 버전에서 여러 화면을 수행 할 수있는 것 같습니다. savescreenshotfull [파일 이름]
— w32sh

처음에 nircmd2의 다운로드 링크를 찾을 수 없습니다. Google 검색에 아무것도 표시되지 않았습니다. 다운로드를 원하는 사용자의 nircmd2경우 다운로드 링크는 nirsoft.net/utils/nircmd.html 페이지의 맨 아래에 있습니다. : 당신은 직접 다운로드 링크를 사용할 수 있습니다 nirsoft.net/utils/nircmd.zip을
— alpha_989

17

외부 도구없이 수행 할 수 있습니다 (Vista 이상에서 기본적으로 설치되는 .net 프레임 워크 만 설치하면 됨) -screenCapture.bat . 자체 컴파일 된 C # 프로그램이며 출력을 몇 가지 형식으로 저장하고 활성 창 또는 전체 화면 만 캡처 할 수 있습니다.

screenCapture- captures the screen or the active window and saves it to a file
Usage:
screenCapture  filename.format [WindowTitle]

filename - the file where the screen capture will be saved
format - Bmp,Emf,Exif,Gif,Icon,Jpeg,Png,Tiff and are supported - default is bmp
WindowTitle - instead of capturing the whole screen will capture the only a window with the given title if there's such

예 :

call screenCapture notepad.jpg "Notepad"
call screenCapture screen.png

2
확실히 최고의 솔루션입니다. 초소형 9K! ImageMagick (25Mb) 크기의 0.04 %입니다. 내장 된 Windows 기능을 사용합니다. 이 페이지의 다른 모든 솔루션보다 더 작습니다. 베스트!
— johny 왜

1
이 솔루션에 대해 주목 한 것은 캡처하지 않은 특정 사항이 있다는 것입니다. 예를 들어 일부 응용 프로그램은 자체적으로 연결되어 캡처 된 이미지에서 렌더링되지 않는 다른 응용 프로그램에서 hud를 만듭니다. 그 극단적 인 경우 MiniCap이 작동한다는 것을 알았습니다. 그러나 대부분의 경우, 여기이 솔루션은 가장 빠르고 복잡하지 않습니다.
— F1234k

안녕 @ npocmaka, 나는 바탕 화면이 확장되는 두 개의 모니터가 있습니다. 두 번째 모니터의 바탕 화면을 캡처하고 싶습니다. 그러나 프로그램은 기본 데스크톱에서 스크린 샷을 찍습니다. 어떤 트릭?
— 미니

@mini- 이것을 사용하여 스크립트의 c # 부분을 편집 할 수 있습니다 . 나는 주말에 이것을 추가하려고 노력할 것이다
— npocmaka

@npocmaka, C #에 익숙하지 않으므로 업데이트를 기다리고 있습니다. 고마워
— 미니

13

다른 제안도 괜찮습니다. MiniCap도 무료로 사용할 수 있으며 유연한 파일 이름 지정 및 다른 캡처 모드와 같은 다른 기능이 있습니다. http://www.donationcoder.com/Software/Mouser/MiniCap/index.html

(면책 조항 : 저는 MiniCap의 저자입니다).


1
그런 다음 Screenshot Captor의 저자 여야합니다. 내 요구에 맞는 더 나은 솔루션이라는 것을 알았습니다. 감사합니다!
— jon3laze

1
개인적인 용도로는 무료입니다. 상업적으로 사용하려면 Screenshot Captor에 대한 라이센스가 필요합니다.
— 토머스 웰러

9

IrfanView를 사용해보십시오 .

명령 줄을 통해 실행할 수 있습니다. 전체 창 또는 현재 / 활성 창과 같이 캡처 할 창을 지정할 수 있으며 이미지 선명 화, 자르기 또는 크기 조정과 같은 일부 기본 편집을 수행 할 수도 있습니다.

다음은 명령 줄 옵션 , 특히 흥미 롭다는

i_view32 /capture=0 /convert=wholescreen.png

6

boxcutter 도구를 사용해보십시오 .

usage: boxcutter [OPTIONS] [OUTPUT_FILENAME]

Saves a bitmap screenshot to 'OUTPUT_FILENAME' if given.  Otherwise, 
screenshot is stored on clipboard by default.

OPTIONS
  -c, --coords X1,Y1,X2,Y2    capture the rectange (X1,Y1)-(X2,Y2)
  -f, --fullscreen            fullscreen screenshot
  -v, --version               display version information
  -h, --help                  display help message

이 모니터는 여러 대의 모니터를 지원하지만 버전 1.5에서 일부 검은 색 영역을 추가합니다
— Thomas Weller

압축에 관심이있는 사용자에게는 boxcutter는 전체 화면 .exe의 경우 22K, 일반 .exe의 경우 502K입니다. 오픈 소스입니다. 나를 위해 잘 작동합니다.
— frakman1

6

Screenshot-cmd 는 데스크탑 또는 창 제목으로 선택한 모든 창의 스크린 샷을 만듭니다. 캡처 할 사각형을 선택할 수도 있습니다. 결과는 png 파일로 저장됩니다. (2011 년 마지막 업데이트)

옵션 :
    -wt WINDOW_TITLE
            이 제목의 창을 선택하십시오.
            제목은 공백 ( "")을 포함 할 수 없습니다.
    -wh WINDOW_HANDLE
            손잡이로 창을 선택하십시오
            (16 진 문자열로 표현-fe "0012079E") 
    -rc 왼쪽 상단 오른쪽 하단
            자르기 소스. WINDOW_TITLE이 제공되지 않은 경우
            (0,0)은 바탕 화면의 왼쪽 상단에 있습니다.
            WINDOW_TITLE이 데스크탑 창을 운영하는 경우
            (0,0)은 왼쪽 상단입니다.
    -o FILENAME
            출력 파일 이름이 없으면 이미지가 저장됩니다
            현재 작업 디렉토리에서 "screenshot.png"로
    -h
            이 도움말 정보를 표시합니다.

고무시키는 : http://blog.mozilla.com/ted/2009/02/05/command-line-screenshot-tool-for-windows/


1
이것은 오픈 소스, BSD 라이센스입니다. 매우 간단하고 작습니다-저에게는 이것이 장점입니다.
— Jarekczek

2

Pillow파이썬 라이브러리를 사용 하여 기본 모니터의 스크린 샷을 찍을 수 있습니다

1 단계 : 베개 설치 :

pip install -user pillow

2 단계 : 다음 코드로 스크린 샷을 찍습니다.

from PIL import ImageGrab
img = ImageGrab.grab()
img.save('screenshot.bmp')

1
먼저 imagemagic 솔루션을 시도했지만 그 Python 코드를 보았을 때 대화식 Python CLI에서 시도했지만 두 번째 후에는 행복했습니다! 고마워!!
— domih

1

상용 제품 스냅 을 사용 하여 명령 줄에서 멋진 스크린 샷을 찍을 수 있습니다 .


2
현재 상용 제품 이며 .NET이 필요하며 Windows 7 ++ 용으로 출시되지 않았습니다. 답변에 제공된 링크는 HTTP 404를 반환합니다.
— Thomas Weller 9:19의

그러나 GitHub 저장소는 존재하지 않습니다.
— alpha_989
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.