I am looking for a way to take a screenshot of the entire screen from the command line. Operating system is Windows. Something like this:
Download imagemagick. Many command line image manipulation tools are included. import allows you to capture some or all of a screen and save the image to a file. For example, to save the entire screen as a jpeg:
import -window root screen.jpeg
If you want to use the mouse to click inside a window or select a screen region & save a a png, just use:
This question's already been answered, but I thought I'd throw this in as well. NirCmd (freeware, sadly, not open source) can take screenshots from the command line, in conjunction with the numerous other functions it can do.
Running this from the command line either in nircmd.exe's directory or if you copied it to your system32 folder:
nircmd.exe savescreenshot screen1.png
does what you want. You can also delay it like this:
nircmd.exe cmdwait 2000 savescreenshot screen1.png
That will wait 2000 milliseconds (2 seconds), and then capture and save the screenshot.
it can be done without external tools (you just need installed .net framework ,which is installed by default on everything from vista and above) - screenCapture.bat. It is a selfcompiled C# program and you can save the output in few formats and capture only the active window or the whole screen:
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
Other suggestions are fine -- you could also try MiniCap, which is free and has some other features like flexible file naming and some different capture modes: http://www.donationcoder.com/Software/Mouser/MiniCap/index.html
(disclaimer: I'm the author of MiniCap).
You can run it via command-line. You can specify which window to capture – such as whole window or just the current/active window – and you can also do some basic editing such as sharpening, cropping or resizing the images.
Here are the command line options, particularly interesting is
i_view32 /capture=0 /convert=wholescreen.png
You can try the boxcutter tool:
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
Screenshot-cmd takes a screenshot of a desktop or any window selected by window title. It is also possible to select rectangle to capture. The result is stored as a png file. (last update in 2011)
OPTIONS: -wt WINDOW_TITLE Select window with this title. Title must not contain space (" "). -wh WINDOW_HANDLE Select window by it's handle (representad as hex string - f.e. "0012079E") -rc LEFT TOP RIGHT BOTTOM Crop source. If no WINDOW_TITLE is provided (0,0) is left top corner of desktop, else if WINDOW_TITLE maches a desktop window (0,0) is it's top left corner. -o FILENAME Output file name, if none, the image will be saved as "screenshot.png" in the current working directory. -h Shows this help info.
You can use the
Pillow python library to take screenshots of the primary monitor
pip install -user pillow
from PIL import ImageGrab img = ImageGrab.grab() img.save('screenshot.bmp')
You can use commercial product snapit to take awesome screenshots from the command line.