微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用Filename + Robocopy日志logging中的当前date创build文件

对Batchfiles,脚本编程和一般的“编码”几乎没有经验,我很快遇到了一个我想创build的批处理的问题。

情况如下:

我有一个文件夹,其中* .txt文件自动插入,我想根据这些文件名称将这些文件移动到不同的文件夹。 我用Robocopy做了这个,它工作得很好。 然后我发现了loggingRobocopy所做的事情的可能性。 Batch目前看起来像这样:

robocopy C:Source C:Target_normal file*.txt /xf file022*.txt /mov /log+:LogNo.txt /ns /nc /np /r:1 /w:5 robocopy C:Source C:Target_Special file022*.txt /mov /log+:LogNo.txt /ns /nc /np /r:1 /w:3

这批必须是Windows计划任务的一部分,必须运行每分钟。 由于有很多文件需要移动,日志文件很快会变得非常臃肿。 我现在每天都需要一个日志文件,相同的批次自动创build第一次在新的一天运行。 当然,如果新创build的日志文件名称包含它创build的date,这将是完美的。 我想把所有这些放在robocopy的上面。 在伪代码中,我想要这样的东西:

使用批重命名模式名称的多个文件

检测操作系统批次

通过Windows发送脚本失败,超过20个项目

如何在.bat文件中隐藏密码

压缩命令导致损坏的zip文件

If currentDay has no Logfile yet -> Create Logfile with Name Log+currentDate -> else (nothing and continue?)

…如果那有意义的话。 我只是不知道如何expression在批处理中工作。

是否有可能在脚本中redirectbatch file的输出

如何将批处理脚本推入后台并拒绝它?

如果那么在Windows批处理语句

使batch fileFOR命令工作,没有通配符?

传递两个文件一个Windows文件types的动作

此批处理演示如何使用wmi获取实际日期,并将该日期时间拆分为您可以根据自己的喜好组合的部分。

@Echo off SetLocal EnableExtensions EnableDelayedExpansion :: Get Local date time for /f "tokens=1-3 delims=.+-" %%A in ( 'wmic os get LocalDateTime^|findstr ^^[0-9]' ) do Set _DT=%%A Set "_yy=%_DT:~0,4%" & Set "_MM=%_DT:~4,2%" & Set "_dd=%_DT:~6,2%" Set "_hh=%_DT:~8,2%" & Set "_nn=%_DT:~10,2%" & Set "_ss=%_DT:~12,2%" :: Put your date time elements together :: %_DT:~0,8% is yyyyMMdd Set LogNo=Log_%_DT:~0,8%.txt set _ Echo Logfile is : %LogNo% Pause robocopy C:Source C:Target_normal file*.txt /xf file022*.txt /mov /log+:%LogNo% /ns /nc /np /r:1 /w:5 robocopy C:Source C:Target_Special file022*.txt /mov /log+:%LogNo% /ns /nc /np /r:1 /w:3

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐