当前位置:   article > 正文

在CMD终端使用Dos命令进行Bat批处理,如何记录日志?_如何批处理复制日志

如何批处理复制日志

使用批处理命令是日常处理大量重复性操作的便捷方式,例如将大量文件复制到特定目录,改变存储目录进行归类存储,或者批量移动、删除文件或目录等。但当文件存储结构复杂时,批处理的执行效果是否如预期设定,就需要在执行批处理时进行操作过程的日志记录。

1.需求场景

假如我想将文件夹中的excel文件批量复制到一个目前不存在的文件夹copiedfile目录下,使用批处理命令,执行结束之后检查执行过程和效果。

2.解决办法

获取xlsx文件存储路径,新建批处理bat文件,批量复制到目标路径下。由于我的目标文件夹不存在,使用xcopy命令进行复制,复制时若目标路径不存在则建立对应文件夹目录。

3.问题与解决

执行上述批处理文件会发现2个问题:

(1)每执行一条复制命令时终端都会提示对复制的类型进行判断,是文件还是目录?如果少了还可以反复点击F键来确认,但是如果要复制成千上万个文件,逐个确认就不现实了。

(2)命令执行过程中如果有异常,难以发现和检查。需要记录处理日志。

对命令进行修改,前面加上" Echo f | "来自动确认复制类型为文件,后面加上" >> log.txt “将执行过程中的日志信息记录到文件。

4.实现效果

可以看到9个文件已经复制到了目标目录下。但是缺少了2、3、4月份的3个文件。

打开日志文件来检查核对。

可以看到其他文件复制过程正常结束,2、3、4月文件未成功复制。再回到源文件夹下分析原因。

仔细观察会发现,2、3、4月份3个文件名,在后括号)与后缀名之间多了一个空格,导致执行复制命令时无法找到指定名称的文件,所以复制失败。输出日志的目的正在于此。

PS:有朋友可能认为这么简单的问题,直接用鼠标选择12个文件,新建文件夹,Ctrl+C,Ctrl+V不就解决问题了。其实为了说明记录日志的作用,这个例子是进行了简化的。实际工作中,要复制的源文件可能不会这么简单的保存在同一路径下,可能要将分布在不同目录下的众多文件进行复制、删除等操作。手工处理就会效率低下,且容易错漏。

如何批量获取众多不同目录下的文件名和文件存储位置呢?下一篇与大家分享一键提取文件列表的方法。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/数据结构灵魂2/article/detail/61499
推荐阅读
相关标签
  

闽ICP备14008679号