Gå til innhold

Laste ned fil via FTP en gang i døgnet


Anbefalte innlegg

Heisann!

 

I utgangspunktet postet jeg en tråd i Programvare-delen av forumet, hvor jeg var på jakt etter et FTP-program som laster ned en gitt fil fra en gitt mappe på en gitt ftp-server. Jeg fikk svar om at jeg burde prøve meg her, da det etter all sannsynlighet kunne gi svar i form av et script.

 

Det jeg altså er på jakt etter er en måte å laste ned en fil fra en ftp-server en gang i døgnet.

 

Scenario: Klokken 03:00 skal "Mixdown.mp3" lastes ned fra ftp.example.com til mappen Download. Dersom det lå en fil i mappen fra før av skal den slettes (eventuelt overskrives) av filen som lastes ned. Poenget er at det kun skal være en fil som ligger der.

 

Operasjonen gjentas igjen neste døgn.

 

Noen som vet om noe, eller som eventuelt vil prøve å programmere seg frem til noe?

 

På forhånd takk!

Lenke til kommentar
Videoannonse
Annonse
FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-w:windowsize] [-A] [host]

 

-n Suppresses auto-login upon initial connection.

-s:filename Specifies a text file containing FTP commands; the commands will automatically run after FTP starts.

host Specifies the host name or IP address of the remote host to connect to.

 

Så det vil si at du vil lage filen kommandoliste.ftp (eller hva du nå vil kalle den) som inneholder følgende

user dittbrukernavn dittpassord
binary
get minmappe/Mixdown.mp3
bye

Deretter vil du lage en satsvis fil som inneholder følgende kommando

ftp -n -s:c:\kommandoliste.ftp ftp.example.com

 

Denne kommandoen kan du legge i en batch-fil og starte den automatisk.

Lenke til kommentar

Har testet litt nå, og det ser ut som at alt fungerer. Filen blir lastet ned. Veldig bra! Takk for det.

 

Jeg har imidlertid også lyst til å velge hvilken mappe filen skal lagres til. Hvordan gjør jeg det?

 

Jeg benyttet meg at BlueEAGLE sitt første eksempel. Prøvde å legge inn "cd mappenavn" før get-kommandoen, men det resulterte kun i "file name prohibted" og at filen ble lastet ned til der .bat-filen ligger. Se eksempel under.

 

user user pass
binary
cd C:\Documents and Settings\Administrator\Skrivebord\Programmer - Opptak\
get minmappe/Mixdown.mp3

Endret av lalleh
Lenke til kommentar

Jeg regner med at cd-kommandoen blir eksekvert på den eksterne maskinen og ikke på den lokale, så det du må gjøre er å bruke cd før du starter med ftp.exe slik at fila blir lastet ned til den aktive mappen i CMD-sessionen.

 

Lag et batch-script med noe som dette:

 

cd "c:\hermetegn rundt filnavn med mellomrom"

ftp -n -s:c:\kommandoliste.ftp ftp.example.com

Lenke til kommentar

I ftp brukes kommandoen "lcd" for å endre current directory lokalt, mens "cd" er for remote.

Så det er bare å endre i scriptet:

cd C:\Documents and Settings\...

til

lcd "C:\Documents and Settings\..."

(Pass på å ha hermetegn rundt stier med mellomrom i)

Endret av Paull
Lenke til kommentar
Jeg har imidlertid også lyst til å velge hvilken mappe filen skal lagres til. Hvordan gjør jeg det?

Du var veldig nært. Kommandoen 'get' tar to parametere hvor det siste er valgfritt. Det første er som du vet kilden. Det andre parameteret er målet. Så du kan bruke kommandoen 'get kilde mål' eller for å forklare helt spesifikt:

user user pass
binary
get minmappe/Mixdown.mp3 "C:/Documents and Settings/Administrator/Skrivebord/Programmer - Opptak Mixdown.mp3"

Legg merke til at jeg har endret \ til / i målnavnet og lagt målet i gåseøyne. Dette er fordi at \ er et dårlig tegn å bruke til å angi sti på da dette tegnet også blir brukt for å angi spesialtegn. Windows støtter / så den eneste grunnen til å bruke \ i stier er fordi det er en (dårlig) vane eller noen programmer insisterer på å bruke dette tegnetn.

 

Gåseøynene er lagt der fordi get ikke ser forskjell på mellomrom i fil- og katalognavn og et nytt parameter.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...