标题: [代码合集] 批处理怎样把桌面截图保存到指定文件夹? [打印本页]
作者: 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源代码:- Pic=GetWinPic()
- Path= "D:\AAA\"&year(now())&month(now())&day(now())&hour(now())&minute(now())&second(now())&".jpg"
- If WriteFile(Path,Pic) Then
- End If
复制代码
作者: Batcher 时间: 2023-2-15 16:02
回复 1# FU586097
下载nircmd.exe和下面的test.bat放在同一个目录下
执行test.bat- @echo off
- set "TargetFolder=E:\AAA"
- if not exist "%TargetFolder%" (
- md "%TargetFolder%"
- )
- nircmd sendkey lwin down
- nircmd sendkey d press
- nircmd sendkey lwin up
- 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
部分代码:- @echo off
- %1 %2
- ver|find "5.">nul&&goto :Admin
- mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :Admin","","runas",1)(window.close)&goto :eof
- :Admin
- call :screenshot
- cd /d "%~dp0"
- setlocal enabledelayedexpansion
- set Path=D:\AAA
- if exist screenshot.exe (copy screenshot.exe "%Path%" && call "%Path%\screenshot.exe" && del screenshot.exe & del "%Path%\screenshot.exe" )
- exit
- :screenshot
- @echo bs=_>xx.vbs
- @echo "NpFkAMAAAAABAAAA//PAAgLAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoDAAA4wH66AA0mQzhgbAM1cIUhWazBCcy92ZyFWbgMWYu52b0BiYlBic15GIp5GIE90Ug02bkVmLN0gCkAAAAAAAAAge"+_>>xx.vbs
- @echo "BIAg+AGbT7DYsNtPgx209/2MTzDYsNdv8J209AGbTH1fmNdNgx20R9HaTzDYsNd/vFz0tAGbT7DYtNd0gx20+AGbT7BYsNt1/d20oBGbTnvZqN9Pgx20Sl2Yo5DYsNNAAAAAAAAAAAVRAAATBMAADFVmNBAAAAAAAAAAgDwDBsQA"+_>>xx.vbs
- @echo "GAAAQDAAAABAAAAMCAAk7LAAAAkAAAAEDAAAAAEAAABAAAgAAAABAAAAAAAAAQAAAAAAAAAAAAyAAAAEAAAAAAAACAAAAAAAQAAAQAAAAAAEAAAEAAAAAAAAQAAAAAAAAAAAAAAAQUxAAAlAAAAAQMAAQUAAAAAAAAAAAAAAAAAA"+_>>xx.vbs
- @echo "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVBFWwAAAAAAAwIAAAABAAAAAAAAAEAAAAAAAAAAAAAAAAAAA"+_>>xx.vbs
- @echo "ACAAgXFUYFDAAAAAAANAAAAQCAAAIDAAAQAAAAAAAAAAAAAAAAAAAAEAAAuLyNncjBAAAAAEAAAAQMAAAgAAAAAzAAAAAAAAAAAAAAAAAAAQAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+_>>xx.vbs
- @echo "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+_>>xx.vbs
- @echo "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+_>>xx.vbs
- @echo "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz4SOzAQVQhVINkgDKgkY3yBsJz/ka/tAAM4uAAAygIAAmoAAurxAAIktKDaM"+_>>xx.vbs
- @echo "aKr28r1CJnTYCC6vK2bW1u9GC4scbb8HTzt5rK0BvxrmcPmc6l9VwrkHfcIPCyOY7iDBtfIBn9Ch+KmaoXm2rDvgld3WgHgOf1fZXCwPaDK2XwZnPCx0wlcgnhw3YTzo034YtnJzIXbvo2i1Tc7Sz0Jm5PqCY04e513opzKAXXTg"+_>>xx.vbs
- @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%)- @echo off
- %1 %2
- ver|find "5.">nul&&goto :Admin
- mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :Admin","","runas",1)(window.close)&goto :eof
- :Admin
- call :screenshot
- cd /d "%~dp0"
- setlocal enabledelayedexpansion
- set Path=D:\AAA
- if not exist %Path% (md %Path%)
- if exist screenshot.exe (copy screenshot.exe "%Path%" && call "%Path%\screenshot.exe" && del screenshot.exe & del "%Path%\screenshot.exe" )
- exit
- :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 - @echo off
- if "%1"=="h" goto begin
- start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
- :begin
-
- 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 指定存放图片的F:\AAAAA\文件夹
- set dir=F:\AAAAA\
- rem 判断没有就创建AAAAA文件夹
- if not exist %dir% (
- md %dir%
- )
- ::延迟2秒钟后保存当前屏幕截图到指定文件夹
- nircmd cmdwait 2000 savescreenshot "%dir%%sn%.jpg"
- Exit
复制代码
作者: Batcher 时间: 2023-2-17 13:35
回复 22# 0475
nircmd有自己的默认变量可以获取到系统时间戳- @echo off
- set "TargetFolder=F:\AAA"
- if not exist "%TargetFolder%" (
- md "%TargetFolder%"
- )
- nircmd sendkey lwin down
- nircmd sendkey d press
- nircmd sendkey lwin up
- 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 - @echo off
- set "TargetFolder=F:\AAA"
- if not exist "%TargetFolder%" (
- md "%TargetFolder%"
- )
- 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://bbs.bathome.net/) |
Powered by Discuz! 7.2 |