Seite 1 von 2

Datein umbennen (auf Server)

Verfasst: 09.03.2009 10:07
von fredipedri
Hallo ich bin amverzweifeln und hoffe ihr könnt mir weiterhelfen.
Ich möchte Datein auf einem Server umbennen(.txt in .sav)
das funktioniert auch aber nur auf meinem lokalen Rechner.
Ich habe durch rumgooglen einen code gefunden der aber leider in vb 6.0 geschrieben ist und ich nur vb 2005 verstehe.
kann mir jemadn helfen den code zu verstehen?

Code: Alles auswählen

'Transfer-Batch Einlagerung schreiben
PfadUndDatei = MdbPath & "FTPEIN.BAT"
Open PfadUndDatei For Output As #1
InpRcd = "@echo off"
Print #1, InpRcd
InpRcd = " "
Print #1, InpRcd
InpRcd = "ftp -s:" & Trim(MdbPath) & "ftpein.ftp " & Trim(txt_UPing) & " | find " & Chr$(34) & "226" & Chr$(34) & ">NUL"
Print #1, InpRcd
InpRcd = "IF ERRORLEVEL 1 goto end"
Print #1, InpRcd
InpRcd = " "
Print #1, InpRcd
InpRcd = ":end"
Print #1, InpRcd
InpRcd = "exit"
Print #1, InpRcd
Close #1

'Transfer-Script Einlagerung schreiben
Textdatei = "Test1.txt“
Savdatei = "Test1.sav“
PfadUndDatei = MdbPath & "FTPEIN.FTP"
Open PfadUndDatei for Output As #1
InpRcd = Trim(txt_UUser)
Print #1, InpRcd
InpRcd = Trim(txt_UPass)
Print #1, InpRcd
InpRcd = "ascii"
Print #1, InpRcd
InpRcd = "get “ & Trim(Textdatei) & " "  & Trim(DataPath) & Trim(Textdatei)
Print #1, InpRcd
InpRcd = "ren " & Trim(Textdatei) & “ “ & Trim(Savdatei)
Print #1, InpRcd
InpRcd = "quit"
Print #1, InpRcd
Close #1

Ergebnis = Shell(MdbPath & "FTPEIN.BAT, vbHide)

Re: Datein umbennen (auf Server)

Verfasst: 09.03.2009 10:15
von Kiffi
@fredipedri:

RenameFTPFile() dürfte der Befehl sein, den Du suchst.

Grüße ... Kiffi

Verfasst: 09.03.2009 10:21
von fredipedri
danke dir für die super schnelle antwort!
und diesen Teil kann ich so lassen oder?:

Code: Alles auswählen

Open PfadUndDatei For Output As #1
InpRcd = "@echo off"
Print #1, InpRcd
InpRcd = " "
Print #1, InpRcd
InpRcd = "ftp -s:" & Trim(MdbPath) & "ftpein.ftp " & Trim(txt_UPing) & " | find " & Chr$(34) & "226" & Chr$(34) & ">NUL"
Print #1, InpRcd
InpRcd = "IF ERRORLEVEL 1 goto end"
Print #1, InpRcd
InpRcd = " "
Print #1, InpRcd
InpRcd = ":end"
Print #1, InpRcd
InpRcd = "exit"
Print #1, InpRcd
Close #1 
damit schreib ich doch in die Batch datei doer?

Verfasst: 09.03.2009 10:25
von Kiffi
fredipedri hat geschrieben:und diesen Teil kann ich so lassen oder?
diesen Code brauchst Du gar nicht.

Vorgehensweise:

Mit FTP verbinden -> OpenFTP()
In das gewünschte Verzeichnis wechseln -> SetFTPDirectory()
Datei umbenennen -> RenameFTPFile()
FTP-Verbindung beenden -> CloseFTP()

Grüße ... Kiffi

Verfasst: 09.03.2009 10:35
von DarkDragon
fredipedri hat geschrieben:danke dir für die super schnelle antwort!
Anscheinend war Sie für dich nicht verständlich.
Drück mal wenn du in der PureBasic IDE bist die Taste F1 auf deiner Tastatur. Dann kommt die Befehlsreferenz von PureBasic. Dort schaust du unter "Ftp". Hier sind alle Befehle (Unter anderem auch RenameFTPFile) aufgelistet die PureBasic für eine Ftp Verbindung bietet. Unten siehst du dort noch einen Link zu einem allgemeinen Beispiel.

Bild

Hier ist das Beispiel (Nur für den Fall, dass du bei den letzten Schritten nicht mitgekommen bist):

Code: Alles auswählen

;
; ------------------------------------------------------------
;
;   PureBasic - Ftp example file
;
;    (c) Fantaisie Software
;
; ------------------------------------------------------------
;

InitNetwork()

If OpenFTP(0, "127.0.0.1", "test", "test", 0)

  Result = SendFTPFile(0, OpenFileRequester("Choose a file to send", "", "*.*", 0), "purebasic_sent.file", 1)
  
  Repeat
    Debug FTPProgress(0)
    Delay(300)
  Until FTPProgress(0) = -3 Or FTPProgress(0) = -2

  Debug "finished"
  
Else
  MessageRequester("Error", "Can't connect to the FTP server")
EndIf
[EDIT]

Achja ich hab grad bemerkt, dass du wohl Visual Basic programmierst und nicht PureBasic:

http://www.softgames.de/forum/viewtopic.php?t=125907

Desshalb bist du hier wohl falsch.

Verfasst: 09.03.2009 10:56
von fredipedri
danke:)

meint ihr so?
tut mir leid ich hab sowas noch nie gemacht :mrgreen:

Procedure FTP()
InitNetwork()
OpenFTP(0, "server", "test", "test" , 1, 21)
SetFTPDirectory(0, "Temp")
CreateFTPDirectory(0, Ordner.s)
SetFTPDirectory(0, Ordner.s)
d$ = "0"
For a = 1 To Down
d$ = Str(Val(d$)+1)
SendFTPFile(0, "\\server")
Next
CloseFTP(0)


und was mach ich mit der shell?

Verfasst: 09.03.2009 11:05
von Kiffi
fredipedri hat geschrieben:tut mir leid ich hab sowas noch nie gemacht :mrgreen:
kein Thema! Jeder hat mal irgendwann angefangen. Allerdings dürfen wir
von Dir erwarten, dass Du die Antworten auch durchliest.
Kiffi hat geschrieben:Datei umbenennen -> RenameFTPFile()

Code: Alles auswählen

InitNetwork()
Procedure FTP()
  If OpenFTP(0, "server", "test", "test" , 1, 21)
    If SetFTPDirectory(0, "DeinDirectory")
      If RenameFTPFile(0, "AlterName", "NeuerName")
      Else
        Debug "RenameFTPFile fehlgeschlagen"
      EndIf
    Else
      Debug "SetFTPDirectory fehlgeschlagen"
    EndIf
    CloseFTP(0)
  Else
    Debug "OpenFTP fehlgeschlagen"
  EndIf
EndProcedure
Und wie DarkDragon schon anmerkte: Die Bedeutung der einzelnen
Befehle kannst Du Dir auch in der PB-Hilfe (F1) durchlesen.

Grüße ... Kiffi

Verfasst: 09.03.2009 11:33
von fredipedri
ich habe mir eure beträge durch gelesen.
und langsam versteh ich sie auch :D

also ich mach fdp auf und verbinde mich auf den server, dann nen ich die datei um.
nur was versteh ich darunter?

Code: Alles auswählen

If OpenFTP(0, "server", "test", "test" , 1, 21) 

Verfasst: 09.03.2009 11:39
von Kiffi
fredipedri hat geschrieben:nur was versteh ich darunter?

Code: Alles auswählen

If OpenFTP(0, "server", "test", "test" , 1, 21) 
damit öffnest Du eine Verbindung zu Deinem FTP-Server.

Grüße ... Kiffi

Verfasst: 09.03.2009 11:43
von fredipedri
ja des hab ich verstanden:)

doch was bedeutet das in der Klammer?