Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

FTP commando tussen twee computers

Pagina: 1
Acties:

  • Bachatero
  • Registratie: December 2007
  • Laatst online: 10-02 00:56
Goedendag,

Ik wil op computer 1 een bestand ophalen vanaf computer2 over het netwerk d.m.v. een FTP commando.

Kan dit ook als beide computers client zijn, of moet op computer2 de FTP server software draaien.

Johan

  • Room42
  • Registratie: September 2001
  • Niet online
FTP is client-server, dus ja, op één moet een server draaien.

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


  • lier
  • Registratie: Januari 2004
  • Laatst online: 17:54

lier

MikroTik nerd

Waarom wil je daarvoor FTP gebruiken?
Enig ander "bestandsoverdracht protocol" een optie?

Eerst het probleem, dan de oplossing


  • Bachatero
  • Registratie: December 2007
  • Laatst online: 10-02 00:56
Room42 schreef op vrijdag 26 december 2014 @ 12:50:
FTP is client-server, dus ja, op één moet een server draaien.
OK dan is het duidelijk waarom dit bij mij niet werkt.
lier schreef op vrijdag 26 december 2014 @ 13:16:
Waarom wil je daarvoor FTP gebruiken?
Enig ander "bestandsoverdracht protocol" een optie?
Ja, ik denk het wel. Zal eerst even uitleggen wat ik van plan ben.

Ik heb in DELPHI op computer1 een stukje code geschreven om een bestand op computer2 over te halen naar computer1. Beide computers zijn clients. Hiervoor had ik FTP gebruikt, maar dat kreeg ik niet werkend, maar weet nu waarom.

Nu weet ik nog niet zo snel hoe ik dat in DELPHI moet doen zonder gebruik te maken van FTP, maar ik zal het eens gaan uitzoeken. Ik wil dus in DELPHI een bestand van computer2 copieren over het netwerk naar computer1, zonder dat er een map op computer2 is gedeeld. De opdracht wordt uitgevoerd op computer1.

Dank

[ Voor 13% gewijzigd door Bachatero op 26-12-2014 13:59 ]


  • Bachatero
  • Registratie: December 2007
  • Laatst online: 10-02 00:56
OK, wel iets verder gekomen. Een bestand copieeren van de ene map naar de andere map werkt, maar het werkt nog niet vanaf de netwerk share naar de locale machine.

code:
1
2
3
SourceFile  := '\\Computer\H:\Report.htm' ;
DestinationFile     := 'C:\Esoft\Report.htm';
BestaatBestand   := CopyFile(pChar(SourceFile),pChar(DestinationFile), TRUE {Fail if Exists});


Wel als ik het handmatig probeer door van de netwerkmap het bestand te slepen naar mijn locale map.

  • Ramon
  • Registratie: Juli 2000
  • Nu online
Ik vraag me toch af of dit de juiste oplossing is, zeker als ik zie dat je een html bestand wil overzetten. Kan dat niet via HTTP? Een HTTP server is zo op te zetten en een HTTP client is ook erg makkelijk.

Maar misschien is het een idee als je wat meer uitlegt over waar je mee bezig bent en wat er in het bestand voor informatie staat.

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


  • Techneut
  • Registratie: September 2007
  • Niet online
Je hebt dus wel verbinding zie ik.Je Delen-instelling functioneert blijkbaar, want slepen lukt zo te zien wel. Dat is voor mij een aanwijzing dat Delen (Share) correct staat ingesteld en dat is eigenlijk het enige wat bij zoiets telt. Alleen met slepen verplaats je een bestand alleen maar, je kopieert het niet. Als dat het is waar de schoen wringt, wat is er dan tegen de uiterst simpele manier van selecteren, kopiëren (Ctrl-C) en op de plaats van bestemming Plakken (Ctrl-V). Of rechts klikken, kies Kopiëren en op de bestemming wederom rechts klikken en kies daar Plakken. M.a.w, uiterst elementaire computerhandelingen zonder enige benodigde hogere informaticakennis. Op die manier kopiëren wij af en toe zonder enige moeite vele gigabytes van de ene computer in het netwerk naar de andere, onverschillig welk type bestanden. Wat wil je dan nog meer? Tenzij je iets heel speciaals wilt, maar dat vertel je er niet bij.

@Ramon, HTTP heb je toch alleen maar nodig als je over het internet wilt versturen? Dus als je niet op een lokaal netwerk zit. Echter als ik het correct lees gaat het hier juist over een lokaal netwerk. Waarom zou je dan zoiets optuigen als dat helemaal niet nodig is? Of zie ik hier iets over het hoofd.

Edit:
Sorry, ik zag even over het hoofd dat het met behulp een programmaatje moet plaatsvinden. Ik ken de programmeertaal DELPHI niet, maar ik lees duidelijk wat je met deze drie regeltjes bedoelt, als ik het vergelijk met wat ik wel ken (zo essentieel verschillen sommige talen niet) zie ik er zo op het eerste gezicht geen fout in.

Wel één opmerking, klopt dat wel wat je voorstelt:
zonder dat er een map op computer2 is gedeeld
Moet je hiervoor die "Destination-map" niet juist wel hebben gedeeld? Ik stel me voor dat dit via zo'n programma net zo goed nodig is als bij handmatig.Of vergis ik me hierin?

[ Voor 23% gewijzigd door Techneut op 26-12-2014 19:27 ]


  • Ramon
  • Registratie: Juli 2000
  • Nu online
Techneut schreef op vrijdag 26 december 2014 @ 17:24:
Je hebt dus wel verbinding zie ik.Je Delen-instelling functioneert blijkbaar, want slepen lukt zo te zien wel. Dat is voor mij een aanwijzing dat Delen (Share) correct staat ingesteld en dat is eigenlijk het enige wat bij zoiets telt. Alleen met slepen verplaats je een bestand alleen maar, je kopieert het niet. Als dat het is waar de schoen wringt, wat is er dan tegen de uiterst simpele manier van selecteren, kopiëren (Ctrl-C) en op de plaats van bestemming Plakken (Ctrl-V). Of rechts klikken, kies Kopiëren en op de bestemming wederom rechts klikken en kies daar Plakken. M.a.w, uiterst elementaire computerhandelingen zonder enige benodigde hogere informaticakennis. Op die manier kopiëren wij af en toe zonder enige moeite vele gigabytes van de ene computer in het netwerk naar de andere, onverschillig welk type bestanden. Wat wil je dan nog meer? Tenzij je iets heel speciaals wilt, maar dat vertel je er niet bij.
Het lijkt mij duidelijk dat het de bedoeling is dat er iets geautomatiseerd moet gebeuren. Anders hoef je ook niet te programmeren...
@Ramon, HTTP heb je toch alleen maar nodig als je over het internet wilt versturen? Dus als je niet op een lokaal netwerk zit. Echter als ik het correct lees gaat het hier juist over een lokaal netwerk. Waarom zou je dan zoiets optuigen als dat helemaal niet nodig is? Of zie ik hier iets over het hoofd.
HTTP is gewoon een protocol. Je hebt daar geen "internet" voor nodig, kan ook gewoon op een lokaal netwerk.

En je leest in mijn post ook een aantal vragen, zoals wat er in het bestand staat en wat precies de bedoeling is van het kopieren. Als die beantwoordt zijn kan er beter antwoord gegeven worden op het topic.

En van "optuigen" is net zo min sprake als dat er is bij SMB. Een HTTP client heb je in de meeste programmeertalen in twee regels voor elkaar. Plus het is makkelijker cross platform te doen.

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


  • Bachatero
  • Registratie: December 2007
  • Laatst online: 10-02 00:56
Ramon schreef op vrijdag 26 december 2014 @ 16:49:
Ik vraag me toch af of dit de juiste oplossing is, zeker als ik zie dat je een html bestand wil overzetten.
Maar misschien is het een idee als je wat meer uitlegt over waar je mee bezig bent en wat er in het bestand voor informatie staat.
Ik heb als voorbeeld een HTML bestand genomen, maar het kan elk willekeurig bestand zijn.
Techneut schreef op vrijdag 26 december 2014 @ 17:24:
Wel één opmerking, klopt dat wel wat je voorstelt:
zonder dat er een map op computer2 is gedeeld
Nee, hier ben ik ook van af gestapt. De map op de remote computer is nu wel gedeeld. Met de explorer kan ik gewoon het bestand van de remote computer slepen naar de destination computer. Dit werkt. Nu alleen nog in DELPHI.

Het CopyCommando werkt wel als ik een bestand van map1 naar map2 kopieer op de zelfde computer. Maar als ik de source verander van lokaal naar de remote computer werkt het niet.

Mischien moet ik nu mijn bericht in een ander forum posten.

Bedankt,

Johan

  • Freakie1NL
  • Registratie: Februari 2012
  • Laatst online: 21:46

Freakie1NL

Grote Baas

FXP geen optie?

11*310 WP (3410) op ZO (~140°) @ ~41° hoek , Growatt 3000 MTL-S


  • Ramon
  • Registratie: Juli 2000
  • Nu online
Bachatero schreef op vrijdag 26 december 2014 @ 16:34:
OK, wel iets verder gekomen. Een bestand copieeren van de ene map naar de andere map werkt, maar het werkt nog niet vanaf de netwerk share naar de locale machine.

code:
1
2
3
SourceFile  := '\\Computer\H:\Report.htm' ;
DestinationFile     := 'C:\Esoft\Report.htm';
BestaatBestand   := CopyFile(pChar(SourceFile),pChar(DestinationFile), TRUE {Fail if Exists});


Wel als ik het handmatig probeer door van de netwerkmap het bestand te slepen naar mijn locale map.
Waarschijnlijk klopt je SourceFile sowieso niet: Een ":" mag namelijk niet in een sharenaam. Syntax zou dan iets zijn a la \\<computer>\<sharenaam>\<eventuele-directories>\<file-name>

Als je wilt weten wat het pad moet zijn kan je gewoon in verkenner aan de rechterkant van de breadcrumb kliken, dan krijg je het pad.

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


  • Ploink
  • Registratie: April 2002
  • Laatst online: 21-08 13:05
Je moet idd een dollar teken gebruiken ipv een dubbele punt.
SourceFile := '\\Computer\H$\Report.htm' ;
Ramon schreef op vrijdag 26 december 2014 @ 16:49:
Ik vraag me toch af of dit de juiste oplossing is, zeker als ik zie dat je een html bestand wil overzetten. Kan dat niet via HTTP? Een HTTP server is zo op te zetten en een HTTP client is ook erg makkelijk.
Mee eens, implementeer een HTTP server op een willekeurige non-standaard poort en dan kun je via een request files en informatie uitwisselen. Je kan eventueel ook files uploaden via een HTTP PUT.
Voor delphi zijn daar diverse componenten voor beschikbaar.

Even een zijspoor, gebruik je het nieuwe Embarcadero Delphi XE of nog het oude Borland Delphi? Die laatste heb ik ook veel gebruikt vroeger, maar als ik nu iets zou maken in die taal dan pak ik liever Lazarus/Freepascal.

[ Voor 80% gewijzigd door Ploink op 26-12-2014 21:20 ]


  • Bachatero
  • Registratie: December 2007
  • Laatst online: 10-02 00:56
Ramon schreef op vrijdag 26 december 2014 @ 20:56:
Waarschijnlijk klopt je SourceFile sowieso niet: Een ":" mag namelijk niet in een sharenaam. Syntax zou dan iets zijn a la \\<computer>\<sharenaam>\<eventuele-directories>\<file-name>
Ploink schreef op vrijdag 26 december 2014 @ 21:01:
Je moet idd een dollar teken gebruiken ipv een dubbele punt.
SourceFile := '\\Computer\H$\Report.htm' ;

Even een zijspoor, gebruik je het nieuwe Embarcadero Delphi XE of nog het oude Borland Delphi? Die laatste heb ik ook veel gebruikt vroeger, maar als ik nu iets zou maken in die taal dan pak ik liever Lazarus/Freepascal.
Yessssssssssssss, het werkt! Iedereen bedankt die heeft gereageerd. Het had inderdaad te maken met de opbouw van de share name. Ik begreep dat niet helemaal. Ik heb het nu gewijzigd en het bestand wordt gekopieerd.

@Ploink: Ik gebruikt Embarcadero Delphi XE2

Johan
Pagina: 1