Quería descargar archivos a través de CMD, y la primera forma que descubrí fue FTP. Alquilé un servidor y todo funcionó. El problema es que se tarda un poco en escribir las credenciales. Después de algunas investigaciones, encontré esta línea de PowerShell:
powershell (new-object System.Net.WebClient).DownloadFile('http://website.com/file.exe','%TEMP%\file.exe')
Pero tengo algunas preguntas:
¿Para qué es la parte después de% TEMP%? ¿Es ese el destino donde "llegan" los archivos? Entonces, si quería descargarlo en C: \, solo tengo que cambiarlo a C: \, ¿verdad? ¿Dónde puedo alojar el archivo gratis? Encontré algunos sitios de alojamiento de servidores web, pero las únicas bases de datos que pude encontrar fueron FTP y MySQL. Gracias por tu ayuda ;)
powershell
ftp
webserver
http
powershell-2.0
c0ntriX
fuente
fuente
wget http://blah.com/myfile.txt
wget también puede descargar archivos a través de ftp ... pero si hay un usuario / pase, entonces es un poco más largo sin aliento ... No duda powershell tiene scripts también. Además del lenguaje de secuencias de comandos, cmd.exe tiene lotes y PowerShell tendría lo suyo. Parece que después de% TEMP% está guardando el archivo con ese nombre de archivo. (potencialmente renombrándolo) pero en este caso descargar file.exe y guardarlo en el directorio% TEMP% con el nombre de archivo file.exe con el mismo nombreECHO %TEMP%\asdfsdf.aaa
y verá lo que en este caso podría decirse que equivale a una ruta de archivo.Respuestas:
Puede averiguarlo buscando la documentación del método DownloadFile del WebClient de .Net que está utilizando:
Método WebClient.DownloadFile
Como lo está invocando con los argumentos
'http://website.com/file.exe'
y'%TEMP%\file.exe'
, que son dos cadenas, la documentación de invocación específica está aquí:Método WebClient.DownloadFile (String, String)
Esa página muestra los parámetros / argumentos esperados son
address
yfilename
:Como puede ver allí, ese
filename
argumento es de hecho "el destino donde" llegan los archivos "". O más exactamente, es el archivo que se crea y luego se llena con los datos transmitidos desde el servidor FTP a través del cliente web.Tenga en cuenta que
%TEMP%
es una variable que representa la ruta a la carpeta Temp para su usuario (es decir:)C:\Users\c0ntrix\AppData\Local\Temp
.Siempre que también incluya un nombre de archivo real. Entonces cambiarías
'%TEMP%\file.exe'
ac:\file.txt
.Nota: En general, guardar en la raíz de C: es una mala idea y, como tal, Windows intentará evitarlo (al exigir la elevación de administrador, etc.), por lo tanto, busque una carpeta.
Puede configurar su propio servidor FTP en su casa. Más allá de eso, las preguntas que solicitan recomendaciones de servicio se consideran fuera de tema para SU. Simplemente busque "hosts FTP gratuitos" en Google y comience a buscar, y / o hable con su ISP, ya que pueden estar dispuestos a proporcionar algo de espacio FTP como parte de su suscripción mensual.
FTP no es una base de datos, es el "Protocolo de transferencia de archivos", y se utiliza para transferir archivos, eso es todo.
fuente