标题: [问题求助] VBS怎样自动把剪切板的内容复制到指定文件夹? [打印本页]
作者: swanseabrian 时间: 2022-3-17 19:34 标题: VBS怎样自动把剪切板的内容复制到指定文件夹?
一个自动备份剪贴板的vbs程序
就是ctrl+c复制的文件
然后备份到我指定的文件路径下,
文字的话就统一存到一个txt里面换行就行
图片,pdf文件类的,就复制到指定文件夹里就行
就是自动监听复制板和剪贴板
请问这个要怎么弄
作者: 湘喑 时间: 2022-3-18 15:46
你这个的话,推荐用quicker吧,用它的剪贴板模块处理这些还是比较方便的
作者: for_flr 时间: 2022-3-18 16:45
本帖最后由 for_flr 于 2022-3-18 16:46 编辑
批处理调用powershell可以完成。- #@&cls&powershell "iex(gc '%~0'|out-string)"&pause&exit /b"
-
- if ([threading.thread]::CurrentThread.GetApartmentState() -ne "STA"){
- powershell -sta
- }
- Add-Type -AssemblyName System.Windows.Forms
- #加载System.Windows.Forms
-
- $folder=get-date -f D
- if(!(test-path $folder)){md $folder}
- $folder=gi $folder
- $folder
- #根据日期建立文件夹$folder
- #也可以直接定义$folder="d:\aaa\bbb\test"
-
- $h=1
- $ms=$h*3600000
- $rate=800
- $loop=$ms/$rate
- #定义监控时间及频率,这里定义的1小时,每800毫秒检查一次剪贴板。
-
- function monitor{
- $clipdata = [System.Windows.Forms.Clipboard]::GetDataObject()
- $filetime=get-date -f MMddHHmmss
- if ($clipdata.ContainsImage()) {
- $clipdata.getimage().save("$folder\$filetime.jpg")
- write-host "存储图片到文件$filetime+.jpg" -fore green
- }
- if($clipdata.containstext()){
- $clipdata.gettext()+"`r`n"|ac $folder\text.txt
- write-host "存储文字到文件text.txt" -fore green
- }
- if($clipdata.containsfiledroplist()){
- copy $clipdata.getfiledroplist() $folder
- write-host "复制文件到文件夹$folder" -fore green
- }
-
- [System.Windows.Forms.Clipboard]::clear()
- write-host "监控剪贴板..."
- Start-Sleep -Milliseconds $rate
- }
-
- for($i=1;$i -lt $loop;$i++){monitor}
- #根据前面定义的时长,循环执行
复制代码
作者: swanseabrian 时间: 2022-3-18 22:57
回复 2# 湘喑
好的,谢谢
作者: swanseabrian 时间: 2022-3-19 13:03
回复 3# for_flr
请问这个可以后台运行吗,就是不显示窗口出来?
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |