iesou
iesou

Reputation: 706

is it possible to echo an echo command into a new file?

I'm trying to use a batch file to create another batch file... it's a file I have to use quite often with a few variables changed each time. I'm running into an issue because in the batch I'm trying to create, it is also using echo to write to a .txt file.

Here is the command:

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

I want to enter the whole string echo %date% - %time% >> C:\MOVEit\Logs\FileGrabberLog.txt into C:\filegrabber_%org%.bat.

I can put "" around it but then they appear in the batch I'm trying to create.

Anyone know of a way around this?

Upvotes: 5

Views: 1393

Answers (3)

rud3y
rud3y

Reputation: 2342

The following answer might be beneficial to your question:

This was posted earlier and the answer was given, similar to what was given here: Ignore Percent Sign in Batch File

Upvotes: 0

jeb
jeb

Reputation: 82307

Or to avoid the carets you can use disappearing quotes

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

Only the percents have to be doubled then.

It works, as the !="! is parsed in the special character phase, and it is decided, that the rest of the line will be quoted.

And in the delayed phase the !="! will be removed, as the variable with the name =" does not exist (and it can't be created).

Upvotes: 1

Alex K.
Alex K.

Reputation: 175776

You escape % with %% and other special characters with ^ so this should work;

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

Upvotes: 5

Related Questions