Batch file 每5分钟将文件从一个文件夹移动到另一个文件夹的批处理程序
我需要一个批处理程序,每5分钟将文件从一个文件夹移动到另一个文件夹(就像一个无限循环,直到批处理程序手动关闭)。 我们必须通过名为Re-route的应用程序将文件上传到我们的应用程序。但是,Re route从中提取文件的文件夹被放置在另一个驱动器上,整个团队都无法访问该驱动器,这对于它所保存的文档来说同样至关重要。因此,团队成员将文件放置在一个公共驱动器上,团队负责人(可以访问通过重路由从中拾取文件的另一个驱动器)将文件移动到实际的重路由驱动器。这会消耗大量的生产时间,因为每5分钟必须进行一次 任何帮助都将不胜感激。 谢谢 问候,,Batch file 每5分钟将文件从一个文件夹移动到另一个文件夹的批处理程序,batch-file,Batch File,我需要一个批处理程序,每5分钟将文件从一个文件夹移动到另一个文件夹(就像一个无限循环,直到批处理程序手动关闭)。 我们必须通过名为Re-route的应用程序将文件上传到我们的应用程序。但是,Re route从中提取文件的文件夹被放置在另一个驱动器上,整个团队都无法访问该驱动器,这对于它所保存的文档来说同样至关重要。因此,团队成员将文件放置在一个公共驱动器上,团队负责人(可以访问通过重路由从中拾取文件的另一个驱动器)将文件移动到实际的重路由驱动器。这会消耗大量的生产时间,因为每5分钟必须进行一次
Vivek好的,据我所知,这是您的解决方案。
1.创建有权访问该位置的特定用户。使用该凭证,您可以运行批处理程序。
2.你需要一个调度程序。看看石英 或者可以使用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);
}
}
你可能想试试这个。。我假设您正在将文本文件从一个文件夹移动到另一个文件夹。下面的代码将使用DOS中的超时功能以10秒的间隔执行此操作。您可以根据需要更改时间(以秒为单位)。太简单了!!这个问题现在应该已经回答了 @回音 :家 超时/T 10/NOBREAK cls 移动“D:\Batch\1*.txt”D:\Batch\2 cls
后藤:家你的问题很不清楚。1.你想要一个批处理程序吗?2.您想对您的逻辑拥有单独的权限吗?3.你想节省带宽吗?请明确要求。看到有人已经否决了你的问题,可能只是因为这个原因。我试图让自己说得很清楚。不管怎样,这是我需要的。一个批处理程序,可以每5分钟(或我选择的任何时间间隔)将文件从一个文件夹移动到另一个文件夹,为什么不给公用驱动器重新路由访问权呢?如果它在另一台机器上,只需映射驱动器。出于某些安全原因,这是我问这个问题的原因。我只需要在无限循环中每隔5分钟使用以下命令(即批处理程序始终在运行)。移动d:\abc\XXX d:\cef\XXXQuartz是第三方应用程序。无法在办公室使用此选项(信息安全策略)。我需要一个简单的批处理程序,它不需要Infosec团队的任何许可,因为批处理程序不是第三方应用程序。希望这有帮助。好的,给我点时间。我将编辑上面的答案,这可能会对你的情况有所帮助。我感谢你的帮助。但是我怎样才能在批处理程序中使用java逻辑呢?对不起,我没有编程背景。我不知道如何在dos中使用计时器函数,否则我会自己做。您需要通过这个
timer.schedule(new PrintTask(),5*60*1000)更改此行
并替换run方法以放置文件复制逻辑。您可以使用java文件复制API来实现这一点。我无法在此处编写生产就绪代码,因为我不知道您的项目详细信息。请参阅run方法的注释部分。您需要将该部分替换为文件copy logic.Bingo。这就是我想要的。谢谢你,克鲁克。