使用Nircmd截取日期时间文件名截图

时间:2014-02-14 17:22:41

标签: windows batch-file

我想使用nircmd截取包含完整日期和时间的屏幕截图作为文件名。这就是我正在做的事情:

nircmd.exe savescreenshot c:\screenshots\%date%-%time%.jpg

这将创建一个名为“Fri.jpg”的文件。

3 个答案:

答案 0 :(得分:2)

在文件路径和名称周围添加引号,以防止空格分隔字符串。此外,日期和时间变量包含无效的文件名字符,必须删除或替换。

nircmd.exe savescreenshot "c:\screenshots\%date:/=-%-%time::=-%.jpg"

答案 1 :(得分:1)

如果有人在谷歌上搜索到这一点,按照 David Ruhmann 和 Proxyma 的回答,我添加了一些代码来截取个人文件中的两个监视器/屏幕。

我在选项中添加了一些坐标并修改了第一行,这样CMD的框会比以前更小。

MODE CON COLS=18 LINES=1
cd /d %~dp0
md screenshots > nul
nircmd.exe savescreenshot  "screenshots\%date:/=-%-%time::=-%.jpg" -1920 0 1920 1080
nircmd.exe savescreenshot  "screenshots\%date:/=-%-%time::=-%.jpg" 0 0 1920 1080

第 4 行用于左侧显示器,第 5 行用于右侧显示器,我不确定,但我认为如果您复制粘贴最后一行并更改第一行,这将适用于 3 个显示器的设置0" 表示 1920(或您的分辨率),但我不确定。

就我而言,我正在使用热键程序 (HotKeyboard Trial) 并使用“F1”来执行“.bat”文件,这仅在我有“nircmd.exe”时才有效root 作为“.bat”文件,当我在 C:\Windows\System32 中有它时不起作用, 但这只发生在我使用那个程序时。

以下图片是结果:

The UI of the program I mentioned above

The folder that contanis the .bat file

The folder that contains the images

答案 2 :(得分:0)

根据 David Ruhmann 的建议以及 123,我创建了一个非常有用的 cmd 工具 (takeScreenshot.cmd)

MODE CON COLS=30 LINES=2
cd /d %~dp0
md screenshots > nul
nircmd.exe savescreenshot "screenshots\%date:/=-%-%time::=-%.jpg"

我使用与 nircmd.exe 相同目录中的桌面快捷方式运行它

enter image description here