Arquivo em lote criando outro arquivo de lote, como ignorar comandos ao escrever linhas?

tendo um pouco de dificuldade com um arquivo de lote do Windows estou escrevendo.

Eu preciso do arquivo de lote para escrever algumas linhas em particular para outro arquivo de lote, o método que tenho usado é:

type NUL > batchfile.bat
ECHO texttobewrittentofile >> batchfile.bat
ECHO texttobewrittentofile >> batchfile.bat
ECHO texttobewrittentofile >> batchfile.bat
...
etc

A maioria das linhas escreve bem, existem alguns problemas diferentes que estou tendo com o meu arquivo em lotes para gravar outro arquivo em lotes embora.

O código para o meu arquivo em lotes para gravar em outro arquivo em lotes é:

ECHO @echo off >> GenerateEmail.bat
ECHO ECHO Opening Stunnel >> GenerateEmail.bat
ECHO pushd .\stunnel\ >> GenerateEmail.bat
ECHO start "" stunnel.exe stunnel.conf >> GenerateEmail.bat
ECHO popd >> GenerateEmail.bat
ECHO ECHO Determining latest log for use with blat >> GenerateEmail.bat
ECHO pushd O:\Logs\%clientname%\ >> GenerateEmail.bat
ECHO for /f "tokens=*" %%a in ('dir /b /od') do set newest=%%a >> GenerateEmail.bat
ECHO popd >> GenerateEmail.bat
ECHO ECHO Generating email containing contents of latest log >> GenerateEmail.bat
ECHO pushd .\blat307\full\ >> GenerateEmail.bat
ECHO ECHO Y | xcopy "O:\Logs\%clientname%\%newest%" ".\" >> GenerateEmail.bat
ECHO blat.exe "%newest%" -to %clientemail% -cc %gmailemail% -server 127.0.0.1:1099 -subject "Offsite Backup for "%1" "%2" - %clientname%" -sig sig.txt >> GenerateEmail.bat
ECHO DEL .\*.log >> GenerateEmail.bat
ECHO popd >> GenerateEmail.bat
ECHO ECHO Closing Stunnel >> GenerateEmail.bat
ECHO pushd .\stunnel\ >> GenerateEmail.bat
ECHO stunnel.exe -exit >> GenerateEmail.bat
ECHO popd >> GenerateEmail.bat

Eu não estou recebendo a saída desejada que eu gostaria, estou tendo problemas com:

ECHO Y | xcopy "O:\Logs\%clientname%\%newest%" ".\" >> GenerateEmail.bat

saindo como

0 File(s) copied

e em todos os lugares que eu preciso %% ele sai como%, assim como a linha que começa com "blat.exe" não está escrita, entre outros problemas. Existe alguma maneira de obter um arquivo em lotes para escrever linhas de texto sem reconhecer quaisquer comandos ou símbolos contidos nessas linhas?

Kane

questionAnswers(1)

yourAnswerToTheQuestion