Heroku tiene este bonito comando que me permite usar curl para descargar un archivo que funciona bien en UNIX:
curl -o latest.dump `heroku pgbackups:url`
El comando entre comillas invertidas produce una URL muy larga que es difícil de copiar/pegar en mi consola CMD de Windows.
Dado que las comillas invertidas no parecen funcionar en Windows, ¿cuál es el equivalente en Windows? Mi investigación sobre CMD profundizó en la creación de un archivo por lotes, lo cual creo que es excesivo para este pequeño propósito. Al buscar en Google las páginas de manual de curl no apareció nada. Buscar en Google otros recursos parece indicar que se está generando una solicitud POST, lo cual no creo que sea así.
¿Cuál es el comando equivalente en Windows CMD? gracias, sam
Respuesta1
Esta no es una investigación original, sino un préstamo deBlogs de MSDN.Allí se afirma que
No existe una forma obvia de leer la salida de un comando en una variable (...). En shells de estilo Unix, esto se hace mediante comillas invertidas. (...)El procesador de comandos de Windows no tiene comillas inversas directas, pero puedes fingirlo abusando del comando FOR.
Y aquí hay un ejemplo con talparacomando, parecido al de Unix echo `your_command`
:
for /f "delims=" %i in ('your_command') do @echo "%i"
/f
activa la siguiente sintaxis (verhelp for
para más información):FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
delim=
desactiva la división en espacios en blanco@echo
imprime el contenido de la variable%i
, pero la llamada de eco en sí se suprime (@
)
Respuesta2
Como ya dijo @Eugen Rieck, le sugiero que también utilice un terminal adecuado. Pero con respecto a tu pregunta:
Elcomillas invertidasse utilizan para ejecutar algo y usando su resultado en línea,evaluarun comando:
echo `date`
O
echo $(date)
Imprimirá:
mar jul 1 11:46:42 CDT 2014
Entonces, en su caso, está intentando ejecutar
heroku
el comandopgbackups:url
como parámetro. Puedes consultar esta pregunta:Archivos por lotes: cómo configurar la salida de comandos como una variablecomocristianosugiere en los comentarios.Y para pasar un parámetro a una
GET
solicitud, simplemente debe agregar dichos parámetros a la URL; por ejemplo, si desea pasar una variable cuyo nombrenumber
sea el número10
y una variabletext
cuyo nombre contenga"I'm a text"
, su URL debería verse así:"http://example.com/script.php?number=10&text=I'm+a+text"