Heroku tem este comando legal que me permite usar curl para baixar um arquivo que funciona bem no UNIX:
curl -o latest.dump `heroku pgbackups:url`
O comando em backticks gera um URL muito longo que é difícil de copiar/colar no console CMD do Windows.
Como os backticks parecem não funcionar no Windows, qual é o equivalente no Windows? Minha pesquisa sobre CMD se aprofundou na criação de um arquivo em lote que considero um exagero para esse pequeno propósito. As páginas de manual do curl no Google não renderam nada que aparecesse. Pesquisar outros recursos no Google parece indicar a geração de uma solicitação POST, o que não acho que seja.
Qual é o comando equivalente no Windows CMD? obrigado, Sam
Responder1
Esta não é uma pesquisa original, mas emprestada deBlogs do MSDN.Lá está afirmado que
Não existe uma maneira óbvia de ler a saída de um comando em uma variável (...). Em shells de estilo unix, isso é feito por meio de crases. (...)O processador de comandos do Windows não possui crase direta, mas você pode fingir abusando do comando FOR.
E aqui está um exemplo com talparacomando, semelhante ao do unix echo `your_command`
:
for /f "delims=" %i in ('your_command') do @echo "%i"
/f
ativa a seguinte sintaxe (vejahelp for
para mais informações):FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
delim=
desativa a divisão em espaços em branco@echo
imprime o conteúdo da variável%i
, mas a própria chamada de eco é suprimida (@
)
Responder2
Como @Eugen Rieck já afirmou, sugiro que você use um terminal adequado também. Mas em relação à sua pergunta:
Ocrasessão usados para executar algo e usando seu resultado embutido, elesAvalieum comando:
echo `date`
Ou
echo $(date)
Irá imprimir:
mar jul 1 11:46:42 CDT 2014
Então, no seu caso, ele está tentando executar
heroku
o comandopgbackups:url
como parâmetro. Você pode consultar esta pergunta:Arquivos em lote - Como definir a saída de comandos como uma variávelcomocristãosugere nos comentários.E para passar um parâmetro para uma
GET
solicitação você deve simplesmente anexar esses parâmetros à URL, por exemplo, se você quiser passar uma variável nomeadanumber
com o número10
e uma variável chamadatext
que contém"I'm a text"
, sua URL deve ficar assim:"http://example.com/script.php?number=10&text=I'm+a+text"