我想创建批处理文件结果的 txt 文件

我想创建批处理文件结果的 txt 文件

我正在尝试将文件从一个驱动器复制到另一个驱动器;它正在工作,但我需要将其结果保存为 .txt 文件。为此,我编写了这个命令,但是虽然它在手动运行时会生成文件,但当我通过任务计划程序运行该文件时,它不会生成 .txt 文件。

@echo on
(
copy W:\DUMP\UATDP-%date:~7,2%.DMP  F:\DP_DUMP\UATDP-%date:~7,2%.DMP /Y
 copy W:\DUMP\IUATDP-%date:~7,2%.DMP  F:\DP_DUMP\IUATDP-%date:~7,2%.DMP  /Y

) > LOG_COPY-%date:~7,2%.TXT

有人可以帮我完成这个任务吗?

答案1

您需要指定工作目录。当您手动执行批处理文件时,您将从批处理文件所在的目录中执行它。如果不指定工作目录,任务调度程序将从其自己的工作目录中执行它。(顺便说一句,这可能意味着您在任务调度程序的工作目录中有一些文本文件)

致用户宠物食品的观点是,最简单的方法是添加您要保存的 .txt 文件的完整文件路径,无论它是与批处理相同的文件夹,还是桌面,还是日志文件目录。

另一种方法是cd在保存文件之前立即添加一行来更改目录,或者pushd如果您确实想不必要地使事情复杂化,则使用它。

答案2

你的最后一句话:

) > LOG_COPY-%date:~7,2%.TXT  

只需将其替换为

) > D:\logs\log_copy_%date:~7,2%.txt

相关内容