Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

È possivel criar esse script apenas pelo cmd?

Pelo bloco de notas consegui criar esse script tranquilamente e depois executar sem problemas. A minha duvida é se consigo criar o script todo dentro do cmd . Eu tentei algo assim

@echo off cls echo Dia de hoje echo %date% echo Hora atual:echo %time%>tempo.bat

è possivel criar tudo de uma vez ou teria que criar linha por linha com o comando ''>>''

Tentei usar o comando ''&"

@echo off & cls & echo dia de hoje: & echo %date% & echo hora atual & echo %time% > data.bat

mas ele nao criou arquivo apenas limpou a pagina e apareceu isso

dia de hoje: 03/10/2016 hora atual

e ele tambem meio que saiu de qualquer diretório ficou zerado abaixo disso.

VLWW

2 respostas
solução!

Olá Tainã,

Primeiramente parabéns, sua linha de pensamento foi corretíssima, o seu comando :

@echo off & cls & echo dia de hoje: & echo %date% & echo hora atual & echo %time% > data.bat

Foi quase perfeito para criar o seu script desejado, ficando faltando apenas alguns detalhes.

Como queremos imprimir cada comando desses, precisamos colocar um echo na frente de cada um deles, para que elas não sejam executado e sim impressos dentro do data.bat

echo @echo off & echo cls & echo echo dia de hoje: & echo echo %date% & echo echo hora atual & echo echo %time%

Execute em seu terminal e veja o que é exibido algo assim:

@echo off
cls
echo dia de hoje:
echo 03/10/2016
echo hora atual
echo 14:38:20,08

Mas ainda assim, as variáveis como %time% e %date% estão sendo avaliadas pelos comando echo e não são impressas. Para evitarmos isto, precisamos escapar as variáveis com o caractere ^ na frente dos % que representam as variáveis, ficando assim:

echo @echo off & echo cls & echo echo dia de hoje: & echo echo ^%date^% & echo echo hora atual & echo echo ^%time^%

Ao testar no terminal, temos:

@echo off
cls
echo dia de hoje:
echo %date%
echo hora atual
echo %time%

É o script que queremos.

Além disso, quando queremos que uma sequência de comandos que foram encadeados com o caractere & sejam salvos em um arquivo de texto, temos que envolver todo o comando com parênteses:

(echo @echo off & echo cls & echo echo dia de hoje: & echo echo ^%date^% & echo echo hora atual & echo echo ^%time^%) > data.bat

Assim, conseguiremos o data.bat como desejado.

Você pode ver que até é possível criar arquivos.bat através do terminal, mas é bastante trabalhoso pois temos que escapar variáveis, imprimir comandos e tomar cuidado com estes detalhes. Apesar de eu achar que você fez uma boa pergunta, é melhor criarmos arquivos .bat com bloco de textos mesmo! hehe

Espero ter te ajudado,

Douglas Quintanilha

Muito obrigado amigo! Realmente acho que bloco de notas é bem mais amigável rsssss

Vlw pelo feedback Você tem uma ótima didática . Parabéns!