2011-04-22 54 views
0

如何創建一個自動執行的批處理文件來刪除特定文件夾中的文件。 情景:我在服務器上有一個文件夾,掃描完所有掃描的文檔後,文件夾會轉到該文件夾​​。他們希望在1天后刪除掃描的文檔。可以創建一個批處理文件來每天這樣做嗎?自動執行刪除文件

回答

3

您可以使用內置的task scheduler - 這可以調用批處理文件,或幾乎任何東西。

(我假設Windows,因爲你提到批處理文件)。

+0

是的,對不起,這是windows。 – Daniel 2011-04-22 19:59:01

0

這是一個相當知名的方法,並在前一段時間記錄在MSDN中。此技術適用於Windows 95和Windows NT。它的工作原理是因爲MS-DOS批處理文件能夠自己刪除。爲了測試這種技術,創建一個包含單個命令一個小的批處理文件:

del %0.bat 

的批處理文件,運行時,刪除本身併發出錯誤「的批處理文件無法找到」。這個錯誤只是一個簡單的信息,所以可以安全地忽略它。就其本身而言,這並不是很有用,但是當修改爲刪除我們的可執行文件時,它解決了我們的問題,儘管它非常有力。具有以下內容:我們的可執行文件將創建一個批處理文件(\ DelUs.bat稱爲C):

:Repeat 
del "C:\MYDIR\MYPROG.EXE" 
if exist "MYPROG.EXE" goto Repeat 
rmdir "C:\MYDIR" 
del "\DelUS.bat" 

此批處理文件反覆嘗試刪除指定的文件,並且將連續運行消耗CPU,直到成功爲止。當可執行文件被刪除後,批處理文件將自行刪除。

可執行文件需要使用CreateProcess產生批處理文件,然後立即退出。將批處理文件的執行線程設置爲低優先級是一個好主意,以便在原始可執行文件終止之前不會獲得太多的執行時間。

請閱讀全文http://www.catch22.net/tuts/self-deleting-executables,其中包含此技術的完整代碼。