我正在尝试使用批处理文件来创建另一个批处理文件...这是一个我必须经常使用的文件,每次都会更改一些变量。我遇到了一个问题,因为在我试图创建的批处理中,它也使用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。
我可以在它周围放置“”但是它们出现在我正在尝试创建的批处理中。
有人知道解决这个问题吗?
答案 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