监视目录以查找添加的文件

时间:2016-02-14 00:55:38

标签: python batch-file vbscript monitor

之前我用.vbs .bat和.au3写过,所以我对脚本有一点了解。我所追求的是一个文件(使用上述任何一种语言),它将监视一个目录(我们只是说“C:\ Users \ User \ Desktop \ Folder”)来获取文件(仅限.html),然后,当添加一个新文件,它将运行一个新的批处理文件。我唯一需要的是它在后台运行,没有命令窗口,从我所知道的和我读过的内容,.bat不允许这样做,我似乎无法弄清楚如何做到这一点.au3(AutoIt)。我对新语言完全开放,建议使用python的“inotifywait”,但我从未用python编写过。我读过的所有其他问题都是针对服务器的,但我只是希望这一切都在本地完成。如果有人可以为此提供一个脚本,或者指向一个链接,问题,帮助文件或其他任何东西,这样我就可以学到这一点,这将是惊人的。

@echo off
setlocal
:start
set inputFolder=%1"C:\Users\Zac\Dropbox\SoundCloud"
set extension=%2html
IF EXIST %inputFolder%\*.%extension% GOTO exists
goto end
:end
goto start
:exists
timeout 70 > NUL
call Random.bat
goto start

到目前为止,我的脚本是否有效,这需要我在继续之前按一个键,并且每次我们去的时候都要求我这样做:启动,并且有一个命令窗口。

1 个答案:

答案 0 :(得分:0)

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run "cmd /k dir c:\windows\*.*", 0, false

这会启动一个隐藏的命令提示符(0)。

如果你想在vbs中全部看到wscript.sleep命令,这里有删除,测试和复制文件的方法。还有如何开始一个程序。

Set Sh = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")

If fso.FileExists("C:\Users\David Candy\Desktop\nethack-360-win-x86-2\bonD0.O") then fso.deletefile "C:\Users\David Candy\Desktop\nethack-360-win-x86-2\bonD0.O"

If fso.FileExists("C:\Users\David Candy\Desktop\nethack-360-win-x86-2\David%20Candy-David.NetHack-saved-game") then
    fso.copyfile "C:\Users\David Candy\Desktop\nethack-360-win-x86-2\David%20Candy-David.NetHack-saved-game", "C:\Users\David Candy\Desktop\nethack-360-win-x86-2\David%20Candy-David - Copy.NetHack-saved-game"
else
    fso.copyfile "C:\Users\David Candy\Desktop\nethack-360-win-x86-2\David%20Candy-David - Copy.NetHack-saved-game", "C:\Users\David Candy\Desktop\nethack-360-win-x86-2\David%20Candy-David.NetHack-saved-game"
end If

sh.run """C:\Users\David Candy\Desktop\nethack-360-win-x86-2\NetHackW.exe""", 1