2013-10-13 67 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

相关问题