Wie und wo kann ich eine Datei mit cmd.exe / PowerShell hochladen / herunterladen?

617
c0ntriX

Ich wollte Dateien über CMD herunterladen, und als erstes entdeckte ich FTP. Ich miete einen Server und alles hat funktioniert. Das Problem ist, dass es ziemlich lange dauert, die Anmeldeinformationen einzugeben. Nach einigen Recherchen fand ich diese PowerShell-Linie:

powershell (new-object System.Net.WebClient).DownloadFile('http://website.com/file.exe','%TEMP%\file.exe') 

Ich habe aber einige Fragen:

Wozu dient der Anteil nach% TEMP%? Ist dies das Ziel, an dem die Dateien ankommen? Wenn ich es also nach C: \ herunterladen wollte, muss ich es einfach in C: \ ändern, oder? Wo kann ich die Datei kostenlos hosten? Ich habe einige Webserver-Hosting-Sites gefunden, aber die einzigen Datenbanken, die ich finden konnte, waren FTP und MySQL. Danke für deine Hilfe ;)

-2
Ich weiß, dass der Befehl cmd.exe ftp ftp-Skripts hat. Außerdem können Sie jede beliebige Datei mit wget herunterladen, indem Sie `wget http: // blah.com / myfile.txt` eingeben. Wget kann Dateien auch über ftp herunterladen. Wenn dies aber der Fall ist ein Benutzer / Durchlauf dann ist es etwas langatmiger. Zweifellos hat auch powershell Skripte. Neben der Skriptsprache hat cmd.exe also batch und powershell. Die Sache nach% TEMP% sieht aus, als würde sie die Datei mit diesem Dateinamen speichern. (möglicherweise umbenannt), aber in diesem Fall file.exe herunterladen und in das Verzeichnis% TEMP% mit dem Dateinamen file.exe speichern, also denselben Namen barlop vor 6 Jahren 1
% TEMP% \ file.exe ist ein Pfad. Geben Sie `ECHO% TEMP% \ asdfsdf.aaa` ein. Sie werden sehen, was in diesem Fall einen Dateipfad ergeben könnte. barlop vor 6 Jahren 1

1 Antwort auf die Frage

2
Ƭᴇcʜιᴇ007

Wozu dient der Anteil nach% TEMP%?

Das können Sie in der Dokumentation der von Ihnen verwendeten DownloadFile-Methode von .Net WebClient nachlesen:

WebClient.DownloadFile-Methode

Da Sie es mit den Argumenten aufrufen 'http://website.com/file.exe'und '%TEMP%\file.exe'die beiden Zeichenfolgen sind, ist die spezifische Aufrufdokumentation hier:

WebClient.DownloadFile-Methode (String, String)

Diese Seite zeigt die erwarteten Parameter / Argumente addressund 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.  

Wie Sie dort sehen können, ist dieses filenameArgument tatsächlich "das Ziel, an dem die Dateien" ankommen "". Oder genauer gesagt, es ist die Datei, die über den Web-Client erstellt und dann mit den vom FTP-Server gestreamten Daten gefüllt wird.

Denken Sie daran, dass dies %TEMP%eine Variable ist, die den Pfad zum Ordner "Temp" für Ihren Benutzer darstellt (dh:) C:\Users\c0ntrix\AppData\Local\Temp.

Wenn ich es also nach C: \ herunterladen wollte, muss ich es einfach in C: \ ändern, oder?

Solange Sie auch einen tatsächlichen Dateinamen angeben. Also würden Sie ändern '%TEMP%\file.exe'zu c:\file.txt.

Hinweis: Im Allgemeinen ist das Speichern im Stammverzeichnis von C: eine schlechte Idee. Daher versucht Windows, dies zu verhindern (durch Erhöhen der Administratoranhebung usw.), suchen Sie stattdessen nach einem Ordner.

Wo kann ich die Datei kostenlos hosten?

Sie können Ihren eigenen FTP-Server bei Ihnen zu Hause einrichten. Darüber hinaus werden Fragen, die nach Serviceempfehlungen fragen, für SU nicht als Thema betrachtet. Geben Sie einfach "kostenlose FTP-Hosts" von Google ein und beginnen Sie mit der Suche, und / oder sprechen Sie mit Ihrem Internetdienstanbieter, da diese möglicherweise bereit sind, im Rahmen Ihres monatlichen Abonnements FTP-Speicherplatz bereitzustellen.

Die einzigen Datenbanken, die ich finden konnte, waren FTP und MySQL

FTP ist keine Datenbank, es ist das "File Transfer Protocol", und es wird zum Übertragen von Dateien verwendet.

danke für diese antwort. Da ich bereits einen FTP-Server habe. Aber ich dachte, ich könnte nur mit einem FTP-Client darauf zugreifen. Wenn nicht, befindet sich die Datei automatisch auf mysite.com/file.exe, wenn sie sich im Stammordner befindet? c0ntriX vor 6 Jahren 0
gelöst, danke nochmal;) c0ntriX vor 6 Jahren 0