2016-02-14 113 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