Automată FTP Upload cu Windows
21 maggio 2008, 0:38 Sfaturi şi trucuri , pentru Windows 21 mai 2008, 12:38
Astăzi am avut de a programa încărcarea automată a unui fişier în Windows XP Professional.
A fost ca întotdeauna o foarte instructiv: la urma urmei, luând cele mai diverse trucuri, puteţi obţine, de asemenea, de la Windows este ceva vag similar cu comportamentul de `cron` pe servere Linux.
Doar vag, nu voi înşela pe nimeni.
Dar ce poate face.
Iată cum.
Să presupunem că aveţi pentru a vă deplasa în fiecare oră, o copie a fişierului test.txt următoarele servere FTP:
Realizator: FTP.ESEMPIO.NET
utilizator: USER
trecere: QWERTY
Destinatie: / MAI / director /
În primul rând vom crea un script de lot, care poate deschide o conexiune FTP, mutaţi fişierul şi apoi închideţi conexiunea în sine.
Aici este script-ul pe care am creat şi salvat în UPLOADME.BAT fişier:
@echo off
echo user UTENTE> ftpcomm.dat
echo QWERTY>> ftpcomm.dat
echo bin>> ftpcomm.dat
echo cd /MIA/CARTELLA/>>ftpcmd.dat
echo put %1>> ftpcomm.dat
echo quit>> ftpcomm.dat
ftp -n -s:ftpcomm.dat FTP.ESEMPIO.NET
del ftpcomm.dat
Simplu şi direct. De la publicarea linia de comanda a test.txt fişierul este obţinut prin simpla tastare:
uploadme "C:\Documents and Settings\Ivan Agliardi\Documenti\PROVA.TXT"
Acum este - absurd - partea de complicat. Windows nu are un sistem de cron adevărat, aşa că trebuie să recurgă la sarcinile programate infame (alias Task Scheduler).
Citez din http://support.microsoft.com/kb/308569/it :
Pentru a deschide Sarcini programate, faceţi clic pe butonul Start, indicaţi spre Toate programele, pe Accesorii, Instrumente de sistem, apoi faceţi clic pe Activităţi programate.
Pentru a programa o sarcină nouă:
| 1. | Dublu-clic pe Adăugare activitate programată pentru a porni Expertul de activităţi programate, faceţi clic pe Următorul pe prima casetă de dialog. | ||||||||||||
| 2. |
În caseta de dialog următoare afişează o listă de programe instalate pe computer, ca parte a sistemului de operare Windows XP sau ca urmare a software-ului de instalare. Utilizaţi una din următoarele metode:
| ||||||||||||
| 3. |
Tastaţi un nume pentru funcţionarea şi selectaţi din următoarele opţiuni:
| ||||||||||||
| 4. |
Faceţi clic pe Următorul, specificaţi informaţiile legate de timp şi de o zi pentru a rula operaţiunea, apoi faceţi clic pe Următorul. Informaţii privind data şi ora de executare a operaţiunii depinde de alegerea făcută, în dialogul precedent a expertului. De exemplu, dacă selectaţi opţiunea săptămânală, trebuie să indice ziua din săptămână, timp, şi dacă operaţiunea ar trebui să fie efectuate în fiecare săptămână, o dată la două săptămâni, o dată la trei săptămâni şi aşa mai departe. | ||||||||||||
| 5. | Tastaţi numele de utilizator şi parola asociate cu funcţionarea. Asiguraţi-vă că selectaţi un utilizator are permisiuni suficiente pentru a rula programul. În mod implicit, expertul selectează numele utilizatorului curent, care este conectat. | ||||||||||||
| 6. | Faceţi clic pe Următorul, apoi faceţi clic pe Terminare după verificarea selecţiile dumneavoastră. |
Sfârşitul citat ... Acum, problema un pic "mai grav este faptul că interfaţa de Task Scheduler nu oferă o mare alegere în ceea ce priveşte calendarul: dacă doriţi să rulaţi scriptul la fiecare oră am crea mai întâi o sarcină programată cu unul dintre timpilor disponibile şi apoi modifica de a merge la opţiunile sale avansate.
Ce este de a executa un eveniment avansat la fiecare 7 minute - de exemplu - în loc de o dată pe zi, nu este clar pentru mine. Eu nu sunt clare, însă, că opţiunile avansate permiteţi-mi să stabilească funcţionarea AUTO-se repetă în fiecare n minute, obţinerea, de fapt, o forma timpurie a `cron`.















27 noiembrie 2008 la 13:11
Buna ziua! Cum pot încărca în mod automat la serverul meu un dosar întreg (cu toate conţinut, eu nu ştiu a priori) periodic, în mod automat?
Bună ziua şi mulţumesc!
27 noiembrie 2008 la 15:19
Buna ziua Kumo,
Cred că, în instrucţiunile de mei de acolo este practic tot ce ai nevoie. Care este punctul in care tu nu intelegi? Lasă-mă să ştiu: am da o mână de dispus.
Alo
Ivan
27 noiembrie 2008 la 18:03
Buna ziua! Nu pot încărca dosarul! Cu nici una dintre aceste încercări:
C: \ Documents and Settings \ FedeCri \ Desktop> uploadme C: \ Avatar
C: \ Documents and Settings \ FedeCri \ Desktop> uploadme C: \ Avatar \
C: \ Documents and Settings \ FedeCri \ Desktop> uploadme C: \ avatar \ *.
El se întoarce "fişier de eroare de deschidere Avatar" ... este ca şi cum dacă metacaractere nu funcţionează ...
02 decembrie 2008 la 10:58
Ivan? Vrei să mă ajuţi x fav?
02 decembrie 2008 la 12:00
Kumo Buna ziua! Şi totuşi, am uitat de tine, ca eu nu ştiam
Cred ca solutia la problema ta este simpla: Înlocuiţi educaţiei, care este pus la 6 până la linia de lot pe care am publicat, în postul meu cu mput declaraţia. Aici este script-ul final:
@echo offecho user UTENTE> ftpcomm.dat
echo QWERTY>> ftpcomm.dat
echo bin>> ftpcomm.dat
echo cd /MIA/CARTELLA/>>ftpcmd.dat
echo mput %1>> ftpcomm.dat
echo quit>> ftpcomm.dat
ftp -n -s:ftpcomm.dat http://FTP.ESEMPIO.NET
del ftpcomm.dat
Okkio, nu am incercat pentru ca nu am timp acum, dar ar trebui să funcţioneze ... Lasă-mă să ştiu cum a mers oricum, OK?
Ivan Agliardi
02 decembrie 2008 la 16:49
Multumesc respectiv, Ivan, dar situaţia sa înrăutăţit peste ... nu pentru a încărca un dosar întreg, acum nu percepe nici un singur fişier ... mă blocat la acest punct:
ftp> bin200 TYPE is now 8-bit binary
ftp> mput stewie.jpg
mput stewie.jpg? quit
ftp>
02 decembrie 2008 la 17:00
Interesant ... ar putea fi faptul că modul de FTP prompte de la linia de comandă a Windows este în mod implicit, cu mput.
Eu încă nu au acces la o maşină de Windows pentru a face acest test, atunci îţi dau drept, voi încerca, şi dacă am confirma functioneaza ... ok? Dacă ne uităm pur şi simplu nu funcţionează ... Deci, am două minute, încercaţi acest lucru:
@echo offecho user UTENTE> ftpcomm.dat
echo QWERTY>> ftpcomm.dat
echo bin>> ftpcomm.dat
echo cd /MIA/CARTELLA/>>ftpcmd.dat
echo prompt>> ftpcomm.dat
echo mput %1>> ftpcomm.dat
echo quit>> ftpcomm.dat
ftp -n -s:ftpcomm.dat http://FTP.ESEMPIO.NET
del ftpcomm.dat
Explicaţie: am adăugat declaraţia prompt, care oferă pe interactiv determinat (linia 6). Încercaţi şi lasă-mă să ştiu.
Astept aşteptând
Ivan Agliardi
02 decembrie 2008 la 19:30
Vă mulţumim! Aceasta funcţionează!
O ultimă întrebare, deşi "
Cum am pus codul în dosarul pe care doriţi să încărcaţi Fără a trece de la DOS ca un parametru?
Practic eu vreau piesele mici programului un simplu click de 2 ori 
03 decembrie 2008 la 08:27
Dacă am înţeles doriţi acest script simplu include calea directă de directorul care urmează să fie mutat prin FTP şi nu are nevoie de ea ca un argument. Ei bine, un lucru este destul de simplu:
@echo offecho user UTENTE> ftpcomm.dat
echo QWERTY>> ftpcomm.dat
echo bin>> ftpcomm.dat
echo cd /MIA/CARTELLA/>>ftpcmd.dat
echo prompt>> ftpcomm.dat
echo mput C:\avatar >> ftpcomm.dat
echo quit>> ftpcomm.dat
ftp -n -s:ftpcomm.dat http://FTP.ESEMPIO.NET
del ftpcomm.dat
În cazul în care nu funcţionează (îmi amintesc că am să folosiţi întotdeauna numai Linux şi, de asemenea, pe laptop-ul la care scriu), va încerca să înlocuiască
echo mput C:\avatar >> ftpcomm.datcu
echo mput C:\avatar\* >> ftpcomm.datLasă-mă să ştiu
Ivan Agliardi
11 decembrie 2008 la 12:11
Perfect Vă mulţumim! Dar pentru că nu văd de metacaractere? De exemplu:
echo mput "C :/ avat * / nou / * gif." >> ftpcomm.dat întoarce eroare pentru că nu pot găsi folderul avatarul!
11 decembrie 2008 la 01:20
Kumo Buna ziua, va rog sa FTP sub DOS
Ivan
11 decembrie 2008 la 14:39
Ar trebui să mă transfer trebuie să treacă de la binar la transferuri ascii? încă la sfârşitul "* gif." nici o problema! De ce am probleme doar cu abrevierea de dosar?
12 decembrie 2008 la 20:14
Buna ziua Kumo
Eu am aceeaşi problemă ... le-aţi rezolvat?
Cu 1000
Salutări
07 iulie 2009 la 11:53
totul este frumos, doar că există o mică problemă, dar nu în ultimul rând, dacă folosiţi acest script si au unele probleme la conectarea la datele de pe site-ul FTP se poate ajunge incorectă, deoarece nu există date apare între local şi de la distanţă şi aici este un punct mic de FTP nu de încredere, ai o solutie?
07 iulie 2009 la 12:57
Salut Daniel,
poştă, la care vă referiţi este singurul răspuns public la o cerere pe care am primit, care a furnizat solicita în mod expres utilizarea de protocolul FTP numai. După cum vă indice în limite care sunt cele adecvate pentru a vorbi despre protocolul FTP, care nu apare nici în fişierul sursă şi destinaţie, deşi în cele mai multe scenarii posibile probleme cu conexiunea este detectat şi de transfer nu, totul depinde de sistemul de operare şi / sau software-ul care gestionează operaţiunea. O soluţie alternativă este, fără îndoială, de a utiliza software-ul ca rsync sub Windows. Gasiti un tutorial pentru a face o soluţie simplă cu ajutorul rsync la această adresă: http://www.fabriziosinopoli.it/2008/02/18/backup-con-rsync-in-windows/
Distreaza-te!