Cómo y dónde cargar / descargar un archivo con cmd.exe / PowerShell

-2

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 ;)

c0ntriX
fuente
1
Sé que el comando cmd.exe ftp tiene scripts ftp ... y también puede descargar cualquier archivo con wget, ingresando 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 nombre
barlop
1
% TEMP% \ file.exe es una ruta. Intente ingresar ECHO %TEMP%\asdfsdf.aaay verá lo que en este caso podría decirse que equivale a una ruta de archivo.
barlop

Respuestas:

2

¿Para qué es la parte después de% TEMP%?

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 addressy filename:

address
    Type: System.String
    The URI from which to download data. 

fileName
    Type: System.String
    The name of the local file that is to receive the data. 

Como puede ver allí, ese filenameargumento 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.

Entonces, si quería descargarlo en C: \, solo tengo que cambiarlo a C: \, ¿verdad?

Siempre que también incluya un nombre de archivo real. Entonces cambiarías '%TEMP%\file.exe'a c:\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.

¿Dónde puedo alojar el archivo gratis?

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.

las únicas bases de datos que pude encontrar fueron FTP y MySQL

FTP no es una base de datos, es el "Protocolo de transferencia de archivos", y se utiliza para transferir archivos, eso es todo.

Ƭᴇcʜιᴇ007
fuente
gracias por esta respuesta Como ya tengo un servidor FTP. ¿Pero pensé que solo podía acceder a él con un Cliente FTP? Si no, ¿el archivo se encuentra automáticamente en mysite.com/file.exe cuando está en la carpeta raíz?
c0ntriX