Board logo

标题: 批处理调用nircmd截图怎样避免覆盖? [打印本页]

作者: tools628    时间: 2011-5-13 01:04     标题: 批处理调用nircmd截图怎样避免覆盖?

http://bbs.bathome.net/thread-4131-1-2.html贴子给出的nircmd代码非常有用,但小弟还有个新问题麻烦一下各位大大。问题就是,当我关闭这个代码,然后又重新执行的话,新的截图会自动覆盖旧的截图,导致旧截图丢失,有没有办法避免这个问题?感谢了。
作者: hanyeguxing    时间: 2011-5-13 03:26

本帖最后由 hanyeguxing 于 2011-5-13 03:34 编辑

文件名直接以日期+时间来命名,这样就不会覆盖
  1. "%date:~0,10%-%time:~0,2%-%time:~3,2%-%time:~6,2%-%time:~9,2%.jpg"
复制代码

作者: tools628    时间: 2011-5-13 08:35

啊,对对,我这木头脑袋,果然是解决的好办法,谢谢版版。
作者: tools628    时间: 2011-5-13 18:07

初学,搞得一塌糊涂,麻烦各位大大帮我设计一下好吗?我要实现的功能是:无限截图,每1分钟一次,截图以日期及时间命名。
作者: applba    时间: 2011-5-13 23:47

这个……
vbs延迟函数来了……
我不会……
作者: tools628    时间: 2011-5-14 00:17

@echo off
setlocal enabledelayedexpansion
rem 指定保存截图的路径
set ScFolder=F:\fix\123
rem 规定指定截图12个小时
set hours=12
set /a minutes=hours*60000
set count=1
oopPrtSc
nircmd cmdwait 20000 savescreenshot "%ScFolder%\f_!count!.jpg"
if !count! equ %minutes% (
  goto :eof
) else (
  set /a count+=1
  goto :LoopPrtSc
)



以上是我的代码,我需要不限时每2分钟截图,并且改用系统日期命名JPG文件,请各位大大帮忙修改一下哈,救命,不然BOSS拿我开刀了。
作者: hanyeguxing    时间: 2011-5-14 00:35

本帖最后由 hanyeguxing 于 2011-5-14 00:37 编辑
  1. @nircmd cmdwait 120000 savescreenshot "路径\%date:~0,10%-%time:~0,2%-%time:~3,2%-%time:~6,2%-%time:~9,2%.jpg"
  2. %0
复制代码

作者: tools628    时间: 2011-5-14 10:16

非常非常感谢,原来这么一小段代码就解决问题了,谢谢版版。接下来要认真学学了。
作者: qzwqzw    时间: 2011-5-14 11:31

nircmd 从 2.35 版本开始已经支持loop了

nircmdc loop 360 120000 savescreenshot "路径\%date:~0,10%-%time::=-%.jpg"
作者: xslxslxsl    时间: 2011-8-17 23:06

在此学习了




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2