2016-02-14 93 views
-1

以前我写过.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 

是我的脚本,到目前为止,这个工程,种,这需要我继续之前按一个键,并要求我每一次我们去的时间这样做:启动,并有一个命令行窗口。

+2

看一看这VBScript的==> http://stackoverflow.com/questions/25509587/monitoring-directory-with-vb-script?answertab=active#tab-top – Hackoo

+0

既然你是在工作Windows环境中,您可以尝试任务调度程序。如果您坚持将其设为脚本编制问题,请尝试在批处理文件中使用schtasks命令。 –

+2

您是否曾尝试过在Stack Overflow上进行搜索?查看[monitor directory add](http://stackoverflow.com/search?q=monitor+directory+add)已经返回的简单搜索有多少个问题和答案。添加'[vbscript]'或'[python]'或'[batch-file]'来查找特定于其中一种脚本语言的解决方案。顺便说一句:只使用批处理文件不是好主意,因为批处理不是为事件触发任务设计的。 – Mofi

回答

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

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

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

如果你想要所有的文件,请参阅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