是否可以将echo命令回显到新文件中?

时间:2011-12-06 15:16:38

标签: batch-file echo

我正在尝试使用批处理文件来创建另一个批处理文件...这是一个我必须经常使用的文件,每次都会更改一些变量。我遇到了一个问题,因为在我试图创建的批处理中,它也使用echo来写入.txt文件。

这是命令:

echo echo %date% - %time% >> C:\MOVEit\Logs\FileGrabberLog.txt >> C:\filegrabber_%org%.bat

我想将整个字符串echo %date% - %time% >> C:\MOVEit\Logs\FileGrabberLog.txt输入C:\ filegrabber_%org%.bat。

我可以在它周围放置“”但是它们出现在我正在尝试创建的批处理中。

有人知道解决这个问题吗?

3 个答案:

答案 0 :(得分:5)

您使用%%%的其他特殊字符转义^,这样就可以了;

echo echo %%date%% - %%time%% ^>^> C:\MOVEit\Logs\FileGrabberLog.txt >> C:\filegrabber_%org%.bat

答案 1 :(得分:1)

或者为避免插入符号,您可以使用消失的引号

setlocal EnableDelayedExpansion
(
  echo !="!echo %%date%% - %%time%% >> C:\MOVEit\Logs\FileGrabberLog.txt
) > C:\filegrabber_%org%.bat

只有百分比必须加倍。

它起作用,因为!="!在特殊字符阶段被解析,并且确定将引用该行的其余部分。

在延迟阶段,!="!将被删除,因为名称为="的变量不存在(并且无法创建)。

答案 2 :(得分:0)

以下答案可能对您的问题有益:

这是之前发布的,给出了答案,类似于此处给出的内容: Ignore Percent Sign in Batch File