Board logo

标题: [代码合集] 批处理怎样把桌面截图保存到指定文件夹? [打印本页]

作者: FU586097    时间: 2023-2-15 12:23     标题: 批处理怎样把桌面截图保存到指定文件夹?

桌面上有一个截图软件  QQSnapSh (双击可以截图)     要求截图后保存到指定文件夹里面   比如  E盘\AAA文件夹  谢谢各位师傅帮忙
作者: Batcher    时间: 2023-2-15 14:24

回复 1# FU586097


推荐换个工具:批处理调用NirCmd实现定时截图
http://bbs.bathome.net/thread-4131-1-1.html
http://bbs.bathome.net/thread-4181-1-1.html
作者: FU586097    时间: 2023-2-15 14:41

回复 2# Batcher
师傅  我不懂  你能帮忙写一下  谢谢
作者: yakeyun    时间: 2023-2-15 15:59

回复 1# FU586097


https://sanli.lanzoub.com/inTfW0nnchij

直接用这个程序截图,运行一次保存一次屏幕截图。

VBS源代码:
  1. Pic=GetWinPic()
  2. Path= "D:\AAA\"&year(now())&month(now())&day(now())&hour(now())&minute(now())&second(now())&".jpg"
  3. If WriteFile(Path,Pic) Then
  4. End If
复制代码

作者: Batcher    时间: 2023-2-15 16:02

回复 1# FU586097


下载nircmd.exe和下面的test.bat放在同一个目录下
执行test.bat
  1. @echo off
  2. set "TargetFolder=E:\AAA"
  3. if not exist "%TargetFolder%" (
  4.     md "%TargetFolder%"
  5. )
  6. nircmd sendkey lwin down
  7. nircmd sendkey d press
  8. nircmd sendkey lwin up
  9. nircmd savescreenshot "%TargetFolder%\~$currdate.yyyy_MM_dd$-~$currtime.HH_mm_ss$.png"
复制代码

作者: FU586097    时间: 2023-2-15 19:48

回复 5# Batcher


    师傅 谢谢你  你写的是   set "TargetFolder=E:\AAA"  怎样截图保存到 set "TargetFolder=D:\AAA"  为什么
作者: FU586097    时间: 2023-2-15 20:16

回复 5# Batcher


    怎样更改保存到其他路径  比如   F盘 BBBBB文件夹  谢谢
作者: jyswjjgdwtdtj    时间: 2023-2-15 20:31

一定要批处理嘛
作者: FU586097    时间: 2023-2-15 20:36

回复 8# jyswjjgdwtdtj


    是的  怎样修改路径  谢谢
作者: jyswjjgdwtdtj    时间: 2023-2-15 20:40

回复 9# FU586097


    啊?随便找个地方保存下来,再移动过去不就行了?
作者: FU586097    时间: 2023-2-15 20:54

回复 10# jyswjjgdwtdtj


    这样不行  每次截图都需要移动  好麻烦
作者: Batcher    时间: 2023-2-15 22:05

回复 7# FU586097


set "TargetFolder=F:\BBBBB"
作者: FU586097    时间: 2023-2-16 07:58

本帖最后由 FU586097 于 2023-2-16 08:03 编辑

回复 12# Batcher
师傅  谢谢你的耐心指教  但是 按test.bat  在F盘建立了BBBBB文件夹  当需要截图时  按 DDD-123.exe  没有截图到BBBBB文件夹里面  为什么?

如果手动在D盘建立AAA文件夹  然后按 DDD-123.exe  可以截图到里面  其他盘建立AAA文件夹就不行
作者: Batcher    时间: 2023-2-16 08:59

回复 13# FU586097


    请举例说明DDD-123.exe是什么东西?它跟5楼的test.bat有啥关系呢?
作者: FU586097    时间: 2023-2-16 09:33

回复 14# Batcher


   师傅   谢谢 可以用了 但是截图后电脑桌面上的其他文件夹 文档全部关闭了  这样不行呀 能不能截图后  桌面上其他的东东保持不变
作者: yakeyun    时间: 2023-2-16 11:45

路径可以自己修改:
https://sanli.lanzoub.com/i0J5n0nq10de

部分代码:
  1. @echo off
  2. %1 %2
  3. ver|find "5.">nul&&goto :Admin
  4. mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :Admin","","runas",1)(window.close)&goto :eof
  5. :Admin
  6. call :screenshot
  7. cd /d "%~dp0"
  8. setlocal enabledelayedexpansion
  9. set Path=D:\AAA
  10. if exist screenshot.exe (copy screenshot.exe "%Path%" && call "%Path%\screenshot.exe" && del screenshot.exe & del "%Path%\screenshot.exe" )
  11. exit
  12. :screenshot
  13. @echo bs=_>xx.vbs
  14. @echo "NpFkAMAAAAABAAAA//PAAgLAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoDAAA4wH66AA0mQzhgbAM1cIUhWazBCcy92ZyFWbgMWYu52b0BiYlBic15GIp5GIE90Ug02bkVmLN0gCkAAAAAAAAAge"+_>>xx.vbs
  15. @echo "BIAg+AGbT7DYsNtPgx209/2MTzDYsNdv8J209AGbTH1fmNdNgx20R9HaTzDYsNd/vFz0tAGbT7DYtNd0gx20+AGbT7BYsNt1/d20oBGbTnvZqN9Pgx20Sl2Yo5DYsNNAAAAAAAAAAAVRAAATBMAADFVmNBAAAAAAAAAAgDwDBsQA"+_>>xx.vbs
  16. @echo "GAAAQDAAAABAAAAMCAAk7LAAAAkAAAAEDAAAAAEAAABAAAgAAAABAAAAAAAAAQAAAAAAAAAAAAyAAAAEAAAAAAAACAAAAAAAQAAAQAAAAAAEAAAEAAAAAAAAQAAAAAAAAAAAAAAAQUxAAAlAAAAAQMAAQUAAAAAAAAAAAAAAAAAA"+_>>xx.vbs
  17. @echo "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVBFWwAAAAAAAwIAAAABAAAAAAAAAEAAAAAAAAAAAAAAAAAAA"+_>>xx.vbs
  18. @echo "ACAAgXFUYFDAAAAAAANAAAAQCAAAIDAAAQAAAAAAAAAAAAAAAAAAAAEAAAuLyNncjBAAAAAEAAAAQMAAAgAAAAAzAAAAAAAAAAAAAAAAAAAQAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+_>>xx.vbs
  19. @echo "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+_>>xx.vbs
  20. @echo "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+_>>xx.vbs
  21. @echo "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz4SOzAQVQhVINkgDKgkY3yBsJz/ka/tAAM4uAAAygIAAmoAAurxAAIktKDaM"+_>>xx.vbs
  22. @echo "aKr28r1CJnTYCC6vK2bW1u9GC4scbb8HTzt5rK0BvxrmcPmc6l9VwrkHfcIPCyOY7iDBtfIBn9Ch+KmaoXm2rDvgld3WgHgOf1fZXCwPaDK2XwZnPCx0wlcgnhw3YTzo034YtnJzIXbvo2i1Tc7Sz0Jm5PqCY04e513opzKAXXTg"+_>>xx.vbs
  23. @echo "7jWJvyLWqzznpC5M3s1FmWjWLVNg8KkCS4EwM+Znd+UEY6/Z9n2zRJhUcHavqoh1e5on65WSlc0afeGcqyjYeSPam8qcQbsysBkMr0dCs/q+46ZoRe5CoOycMV1PFRGyWGPeTQKwJLm589ocJoQmrfAr+bdCW4J/7VJ+zbQraI85"+_>>xx.vbs
复制代码

作者: FU586097    时间: 2023-2-16 16:18

本帖最后由 FU586097 于 2023-2-16 16:24 编辑

回复 16# yakeyun

师傅没有截图到D:\AAA文件夹里面  是什么原因  谢谢
路径需要修改哪个地方
作者: yakeyun    时间: 2023-2-16 20:59

本帖最后由 yakeyun 于 2023-2-16 21:04 编辑

回复 17# FU586097


要下载网盘里面的完整代码,因为代码内容有56K左右,帖子发不出来。直接下载网盘里的源代码,地址直接修改开头的位置:
set Path=D:\AAA


同时如果你设置的文件夹并不存在的情况下,需要先创建文件夹才行。
比如在“set Path=D:\AAA”语句下面另提一行加入如下命令

if not exist %Path% (md %Path%)
  1. @echo off
  2. %1 %2
  3. ver|find "5.">nul&&goto :Admin
  4. mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :Admin","","runas",1)(window.close)&goto :eof
  5. :Admin
  6. call :screenshot
  7. cd /d "%~dp0"
  8. setlocal enabledelayedexpansion
  9. set Path=D:\AAA
  10. if not exist %Path% (md %Path%)
  11. if exist screenshot.exe (copy screenshot.exe "%Path%" && call "%Path%\screenshot.exe" && del screenshot.exe & del "%Path%\screenshot.exe" )
  12. exit
  13. :screenshot
复制代码

作者: FU586097    时间: 2023-2-17 07:19

回复 18# yakeyun

师傅  谢谢你的耐心指教  也建立文件夹了 试过几次了  还是不行 能否分二段代码发给我 或者加QQ3259878266  谢谢
作者: 0475    时间: 2023-2-17 09:14

回复 15# FU586097
这个可以的

    for /f "tokens=*" %%a in ('time/t') do set now=%%a
set ymd=%date:~0,4%-%date:~5,2%-%date:~8,2%
set hms=%now:~0,2%-%now:~3,2%-%time:~6,2%
set sn=%ymd%_%hms%

rem 指定存放图片的snnn文件夹
set dir=%~dp0Snnn\
rem 判断没有就创建snnn文件夹
if not exist %dir% (   
    md %dir%
)
::延迟3秒钟后保存当前屏幕截图到指定文件夹
nircmd cmdwait 3000 savescreenshot "%dir%%sn%.jpg"
Exit
作者: FU586097    时间: 2023-2-17 10:02

回复 20# 0475


    谢谢师傅  我是小白  比如需要截图到  F盘AAAAA文件夹  怎样写  谢谢
作者: 0475    时间: 2023-2-17 12:06

回复 21# FU586097
  1. @echo off
  2. if "%1"=="h" goto begin
  3. start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
  4. :begin
  5. for /f "tokens=*" %%a in ('time/t') do set now=%%a
  6. set ymd=%date:~0,4%-%date:~5,2%-%date:~8,2%
  7. set hms=%now:~0,2%-%now:~3,2%-%time:~6,2%
  8. set sn=%ymd%_%hms%
  9. rem 指定存放图片的F:\AAAAA\文件夹
  10. set dir=F:\AAAAA\
  11. rem 判断没有就创建AAAAA文件夹
  12. if not exist %dir% (   
  13.     md %dir%
  14. )
  15. ::延迟2秒钟后保存当前屏幕截图到指定文件夹
  16. nircmd cmdwait 2000 savescreenshot "%dir%%sn%.jpg"
  17. Exit
复制代码

作者: Batcher    时间: 2023-2-17 13:35

回复 22# 0475


nircmd有自己的默认变量可以获取到系统时间戳
  1. @echo off
  2. set "TargetFolder=F:\AAA"
  3. if not exist "%TargetFolder%" (
  4.     md "%TargetFolder%"
  5. )
  6. nircmd sendkey lwin down
  7. nircmd sendkey d press
  8. nircmd sendkey lwin up
  9. nircmd cmdwait 1000 savescreenshot "%TargetFolder%\~$currdate.yyyy_MM_dd$-~$currtime.HH_mm_ss$.png"
复制代码

作者: 0475    时间: 2023-2-17 13:37

回复 23# Batcher


   之前真不知道,今天 学习到了,谢谢
作者: FU586097    时间: 2023-2-17 13:52

回复 23# Batcher


   谢谢师傅  我想截图效果是包括桌面上打开的文档  你的是单纯截图桌面  而且不要关闭桌面上的文档   能做到吗
作者: FU586097    时间: 2023-2-17 14:06

回复 22# 0475
师傅 谢谢你 你的最好用  达到我的效果了  厉害  非常感谢你
作者: Batcher    时间: 2023-2-17 14:07

回复 25# FU586097
  1. @echo off
  2. set "TargetFolder=F:\AAA"
  3. if not exist "%TargetFolder%" (
  4.     md "%TargetFolder%"
  5. )
  6. start nircmd savescreenshot "%TargetFolder%\~$currdate.yyyy_MM_dd$-~$currtime.HH_mm_ss$.png"
复制代码

作者: FU586097    时间: 2023-2-17 14:18

回复 27# Batcher


    师傅 谢谢  你这个没有截图到F:\AAA
作者: FU586097    时间: 2023-2-17 16:14

回复 22# 0475
师傅 你好  能不能修改一下 中文文件夹名称也能用吗  谢谢
作者: 0475    时间: 2023-2-17 16:31

回复 29# FU586097


    可以
将代码 set "dir=F:\AAAAA"中等号后面的 F:\AAAAA修改成你想要的路径。
注意:保存bat时将文件编码换为ANSI编码,因批处理无法识别中文字符的应用名称;避免出现乱码无法执行的情况




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