2013-10-13 95 views
-1

我需要一個批處理程序,每5分鐘將文件從一個文件夾移動到另一個文件夾(如無限循環,直到批處理程序手動關閉)。 我們必須通過稱爲重新路由的應用程序將文件上傳到我們的應用程序。但是重新路由選擇文件的文件夾被放置在另一個驅動器上,整個團隊無法訪問這個驅動器,這對同一個文件而言是至關重要的。所以這些文件由團隊成員放置在一個共同的驅動器上,由團隊負責人(他們可以訪問其他驅動器,通過重新路由獲取文件)將其移動到實際的重新路由驅動器。而且這需要花費大量的時間,因爲每5分鐘就要做一次。批處理程序,每5分鐘將文件從一個文件夾移動到另一個文件夾

任何幫助將不勝感激。 謝謝。

問候, 維韋克

+1

你的問題是非常不清楚的。 1.你想要一個批處理程序嗎? 2.你想對你的邏輯有單獨的權限? 3.你想節省帶寬嗎? 請明確要求。看到有人已經低估了你的問題,可能只是因爲這個原因。 –

+1

看'robocopy'。 – Endoro

+0

我試圖讓自己非常清楚。無論如何,這是我需要的。 批處理程序可以每5分鐘(或我選擇的任何時間間隔)從另一個文件夾移動另一個文件夾 – Vivek

回答

1

您可能想試試這個..我假設您將文本文件從一個文件夾移動到另一個文件夾。下面的代碼將使用DOS中的TIMEOUT函數以10秒爲間隔進行操作。您可以按照您的要求更改時間(以秒爲單位)。它非常簡單!這個問題現在應該已經回答了。

@echo :家庭 TIMEOUT/T 10/NOBREAK CLS 移動 「d:\批次\ 1 * .TXT」 「d:\批次\ 2」 CLS 轉到:家庭

+0

賓果。這是我想要的。謝謝crunkhunk。 – Vivek

0

OK按我的理解,這裏是您的解決方案。
1.創建一個可以訪問該位置的特定用戶。並憑藉該憑證您可以運行您的批處理程序。
2.你多想少一個調度器。看看石英here

或者你可以使用Java給出的TimeTask。您可以根據需要修改以下程序。 示例如下所示。

import java.util.Timer; 
import java.util.TimerTask; 

public class TimerTest{ 
    private Timer timer; 

    public TimerTest() { 
     timer = new Timer(); 
     timer.schedule(new PrintTask(), 5*60*1000); 
    } 

    class PrintTask extends TimerTask { 
     public void run() { 
      // System.out.println("Timer task is printing.."); 
      // timer.cancel(); 
      //write file copy logic here. 
      // see - Files.copy(source, target, REPLACE_EXISTING); 
      // see java nio APIs 
     } 
    } 

    public static void main(String args[]) { 
     new TimerTest(5); 
    } 
} 
+0

Quartz是第三方應用程序。不能在辦公室使用(Infosec政策)。我需要一個簡單的批處理程序,因爲批處理程序不是第三方應用程序,所以不需要從Infosec團隊獲得任何許可。希望這可以幫助。 – Vivek

+0

好的給我一些時間。我將編輯上面的答案,這可能會幫助你解決你的情況。 –

+0

我感謝你的幫助MohdAdnan。但是,我將如何能夠在批處理程序中使用java邏輯?對不起,但我沒有編程背景。我不知道如何使用計時器功能,否則我會自己做。 – Vivek

相關問題