.bat als Update-Funktion?

Nohh

Erfahrenes Mitglied
Hi Leute, da ich immermehr Nachfragen bezüglichst meiner Programme habe (Freunde) und ich Zeit für Zeit diese Programme aktualisiere und verbessere ist es wichtig, dass Updates heruntergeladen werden. Meine Frage ist:

- Meine Update.exe sitzt entweder auf einem FTP-Server ftp://blabla.de/Update.exe
oder auf meiner Page
http://blabla.de/Update.exe

Ich kenne diese Updatefunktion nur von CSS, wenn man einen Server erstellen will.

Mir ist aber nicht genau bekannt wie ich in eine .bat Datei eine Datei herunterladen kann und direkt ausführen kann.

Wäre echt klasse, wenn jemand mir die Ehre erweisen würde.

Ich danke Euch

Euer Nohh
 
Moin!
Per FTP kannst du es so machen:
Code:
V@echo off

> %0.ftp echo o deineseite.de
>> %0.ftp echo benutzername
>> %0.ftp echo passwort
>> %0.ftp echo bin
>> %0.ftp echo cd dasverzeichnis
>> %0.ftp echo prompt
>> %0.ftp echo mget update.exe
>> %0.ftp echo bye

ftp -s:%0.ftp
update.exe
 
Hi,
Vielen Dank!
kannst du mir die einzelnen Zeilen nochmal kommentieren?

ich habe mal die .bat ausgeführt und im cmd ausgelesen, habe zu testzwecken eine Update.exe auf meinem FTP-Server erstellt und dann das Script gerunnt!

Er sagt mir:
################################################
230 Logged on
ftp>
ftp> bin
200 Type set to I
ftp> cd user
550 CWD failed. "/user": directory not found.
ftp> prompt
Interaktivmodus AUS .
ftp> mget update.exe
200 Type set to I
200 Port command successful
150 Opening data channel for file transfer.
226 Transfer OK
FTP: 11 Bytes empfangen in 0,02Sekunden 0,69KB/s
ftp> bye
221 Goodbye
#################################################
Die Update.exe ist wirklich 11 Bytes groß.
Auf dem Desktop, wo auch die Update.bat datei liegt, erstellt er eine gewisse: "update.bat.ftp", was hat das zubedeuten? Ich bin gerade etwas verwirrt.

Ich grüße Dich

Nohh
 
Moin!
Das Srkipt macht nichts anderes, als die ganzen FTP Befehle in eine separate Datei zu schreiben, eben diese update.bat.ftp (Kannst sie gerne mal mit nem TextEditor öffnen)

Der vorletzte Befehl macht dann nichts anderes als den Windows FTP Client auszuführen. Dazu werden dann die Befehle aus update.bat.ftp ausgeführt.
Und zu guter Letzt sollte dann die update.exe ausgeführt werden..

mit dem cd Befehl wechselst du in da Verzeichnis "user". Laut Fehlermeldung existiert das bei dir aber nicht..
Was ich noch nicht so ganz verstehe, hat es denn nun geklappt oder nicht?
Wenn dir die einzelnen FTP Befehle nichts sagen, dann kannst du die hier nachgucken :http://www.moritzschubel.de/pc_ftp.html
*grüssle*
MeinerEiner
 
Zuletzt bearbeitet von einem Moderator:
Hi,
ja es funktioniert!

Aber ich möchte nicht das er eine update.bat.ftp erstellt mit den Kontaktdaten.... das sollen die eigentlich nicht wissen.

Meine Frage nun, kann man das auch noch variieren? mit den Files z.b.

>> %0.ftp echo mget update.exe
>> %0.ftp echo mget update2.exe
>> %0.ftp echo mget update3.exe
>> %0.ftp echo mget update4.exe

?

Gruß
Nohh
 
Hi,
ja es funktioniert!

Aber ich möchte nicht das er eine update.bat.ftp erstellt mit den Kontaktdaten.... das sollen die eigentlich nicht wissen.
Meines Wissens gibt es keine andere Möglichkeit, mittels batch auf einen (passwortgeschützten)FTP Account zuzugreifen...
Wenn du das alles versteckt haben möchtest, erst dir doch selber ein kleines (beispielsweise Delphi oder Java, laut Profil kennst du dich ja damit aus) Programm. Ist nicht sonderlich schwer..


Meine Frage nun, kann man das auch noch variieren? mit den Files z.b.
>> %0.ftp echo mget update.exe
>> %0.ftp echo mget update2.exe
>> %0.ftp echo mget update3.exe
>> %0.ftp echo mget update4.exe
Meine Antwort: Probiere es doch mal aus! !
Aber du kannst sicher sein, das es einem FTP-Client völlig egal ist, welcher oder wieiviele Daten er runterladen soll, solange sie vorhanden sind..

*grüssle*
MeinerEiner
 
Zuletzt bearbeitet von einem Moderator:
Hi,
das mit dem mget hab ich verstanden, aber batch ist so eine schöne Sprache :) ^^ warum denn soviel Mühe in Delphi oder ähnlichem machen wenns so schneller geht...Wie gesagt mich stört die selbsterstellte Datei update.bat.ftp. Kann ich der Update.bat nicht den Befehl geben sich selbst zu löschen mit samt dieser update.bat.ftp nach dem ausführen der Update-Datei?

Grüße
Nohh :)

edit:
Code:
>> %0.ftp echo bye


ftp -s:%0.ftp
update.exe
del update.bat
del update.bat.ftp
so scheint es schonmal nicht zu funktionieren!
 
Zuletzt bearbeitet:
Ja eine .bat Datei kann sich selber löschen

Code:
del update.bat.ftp
del update.bat

erst die .ftp löschen dann die .bat ;)
 
hi,
anscheinend tut sie dies nur unter winxp und leider nicht unter win2000, dazu sollte man eine weitere .batch-datei erstellen, damit dies möglich seie, sagt zumindest googel.

MfG
Nohh
 
Nun dann versuch es doch einfach mal so:

start_update.bat
Code:
update.bat
del update.bat.ftp
del update.bat

Habe es nicht tested aber so könnte es en:
Code:
@echo off
SET IP=127.0.0.1
SET PORT=21
SET USER=username
SET PASS=passwort
SET DATEI=test.exe

echo open %IP% %PORT%>update.bat.ftp
echo %USER%>>update.bat.ftp
echo %PASS%>>update.bat.ftp
echo bin>>update.bat.ftp				
echo get %DATEI%>>update.bat.ftp			
echo bye>>update.bat.ftp

echo ftp -n -s:update.bat.ftp>update.bat

update.bat		
	
del update.bat.ftp
del update.bat

exit
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück