如何监视文件外观并将其移动到当前工作目录



我想:

  1. 截图(使用FastStone Screen Capture);结果是一个图像保存到C:Capturescreenshot.jpg

  2. 监视C:Capture,如果发现screenshot.jpg,将其移动到当前工作目录(活动资源管理器窗口)

因此,如果我在C:Pictures中捕获screenshot.jpg,则文件应自动从C:Capture移动到C:Pictures。换句话说,捕获的图像应该移动到它的截图目录(活动资源管理器窗口)。

FastStone Screen Capture可以将图像保存到可变路径。但是我还没有在当前打开的目录中找到这样的变量。

https://lh3.googleusercontent.com/Q1rtTdMOKYq6SXXyElpy0QIbAg5hDqT8BIPW7Rc2tA=w427-h207-p-no

如何实现你的目标的一些提示:

  1. 你可以使用AHK库来截图(例如Gdip.ahk)。您可以完全控制它们(图像格式,裁剪/剪切屏幕区域),最重要的是,您可以选择输出路径。
  2. 在Windows 7上,我通常使用以下代码片段来获取活动资源管理器路径:

if( WinActive("ahk_class CabinetWClass") ) { ControlGetText, wDir, ToolbarWindow322 RegExMatch(wDir, ":s*(.*)", wDir) wDir := wDir1 ; Current path will be stored in wDir }

这个过程很简单:定义一个热键来启动这个过程。检索当前资源管理器路径。取一个(部分)截图,并将其保存在您刚刚检索到的路径中。

关于如何实现这一点的另一个技巧:

使用Autoit库

#include <ScreenCapture.au3>
; Capture full screen
_ScreenCapture_Capture(@MyDocumentsDir & "GDIPlus_Image1.jpg")
; Capture region
_ScreenCapture_Capture(@MyDocumentsDir & "GDIPlus_Image2.jpg", 0, 0, 796, 596)

我在这里使用了一个非常有用的库,它可以让您轻松地获取当前Explorer窗口的路径。你可以这样使用它。

#Include Explorer.ahk
; Can change this to the hotkey for your screenshot app 
; or have the script send the key on first line
+PrintScreen:: 
    SSFile := "C:Capturescreenshot.jpg"
    CurrentDir := Explorer_GetPath()
    While ! FileExist(SSFile)
        Sleep, 500
    FileCopy, %SSFile%, %CurrentDir%
    FileDelete, %SSFile%
Return

我没有建立一个在这个时间点查找文件的超时,但这可能是您最终需要的。

最新更新