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.