V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
syncher
V2EX  ›  问与答

Windows 每隔 3 秒从目录 A 移动 5 个文件到 B 目录,求帮写批处理

  •  1
     
  •   syncher · 2017-07-17 21:56:26 +08:00 · 2045 次点击
    这是一个创建于 2686 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求

    Windows Server A 目录下有很多文件, 每隔 3 秒需要从目录 A 移动 5 个文件到 B 目录,求各位帮忙写个批处理。

    要求

    1. 不能安装新软件

    2. 只能用 Windows 批处理实现, 不能用 Python 等其他语言实现

    感谢

    需求有点变态, 我肯定也不想这样, 真心求助, 希望各位大佬给个方案, 小弟拜谢!

    20 条回复    2017-07-19 01:20:13 +08:00
    oh
        1
    oh  
       2017-07-17 22:12:49 +08:00
    有很多文件… 移动 5 个文件… 这 5 个文件是随机挑选还是按什么排序?

    每个 3 秒是指两个任务之间间隔 3 秒还是两次启动之间间隔 3 秒?如果移动的是大文件那本身移动也是耗时的,所以文件大小呢?

    C# 写的 .exe 行不行?无需安装,一键执行
    Phant0m
        2
    Phant0m  
       2017-07-17 22:16:47 +08:00 via iPhone   ❤️ 1
    powershell 可以实现
    tankb52
        3
    tankb52  
       2017-07-17 22:19:52 +08:00
    移动 5 个文件这个挺有意思的,楼主应该把目录下的文件说详细点。
    syncher
        4
    syncher  
    OP
       2017-07-17 22:20:02 +08:00 via Android
    @oh @Phant0m 感谢二位额, 大神给解决方案了,死循环然后用 ping 延时 5 秒,感谢二位的建议。
    syncher
        5
    syncher  
    OP
       2017-07-17 22:21:53 +08:00 via Android
    @tankb52 目录下文件按照默认顺序读取就行, 目录下只有文件没有目录
    msg7086
        6
    msg7086  
       2017-07-18 00:49:41 +08:00
    @syncher 为什么要用 ping 延时?
    想起我们自己公司里的代码也有用 ping 延时的……有点莫名其妙……
    vibbow
        7
    vibbow  
       2017-07-18 06:32:22 +08:00
    @msg7086 简单,有效,稳定。
    kokutou
        8
    kokutou  
       2017-07-18 07:08:00 +08:00 via Android
    @msg7086 因为 bat 没延迟功能。。。
    exuxu
        9
    exuxu  
       2017-07-18 07:16:19 +08:00
    timeout /t 3 不可以吗
    msg7086
        10
    msg7086  
       2017-07-18 08:01:58 +08:00
    @vibbow
    @kokutou
    我的意思是,为啥不用 timeout 呢。
    Sharuru
        11
    Sharuru  
       2017-07-18 08:09:38 +08:00 via Android
    老 NT 没有 timeout (
    victor97
        12
    victor97  
       2017-07-18 08:13:35 +08:00 via Android   ❤️ 1
    robocopy
    kokutou
        13
    kokutou  
       2017-07-18 08:56:15 +08:00
    @msg7086
    因为 xp 没有。。。
    syncher
        14
    syncher  
    OP
       2017-07-18 09:04:47 +08:00 via Android
    @victor97 这个真不错
    syncher
        15
    syncher  
    OP
       2017-07-18 09:08:10 +08:00 via Android
    @exuxu #9 没试过 timeout
    harry890829
        16
    harry890829  
       2017-07-18 09:11:07 +08:00
    bat 文件挺强大的,静心看看手册就好了,你这个需求貌似不难
    syncher
        17
    syncher  
    OP
       2017-07-18 09:13:41 +08:00 via Android
    @harry890829 嗯,因为之前没写过,昨晚突发事件,有点慌,Google 了一会也没结果,所以只能来这求助了。
    vibbow
        18
    vibbow  
       2017-07-18 15:01:04 +08:00
    @msg7086 A user keystroke resumes the command processor execution immediately, even if the timeout period has not expired.
    msg7086
        19
    msg7086  
       2017-07-19 01:07:07 +08:00
    @vibbow /nobreak

    @Sharuru
    @kokutou
    原来如此。
    vibbow
        20
    vibbow  
       2017-07-19 01:20:13 +08:00
    @msg7086 /nobreak
    Ignore user key strokes. (Windows 7 or greater)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   914 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:23 · PVG 06:23 · LAX 14:23 · JFK 17:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.