WinSCP SFTP साइट पर कई फाइलें डाल रहा है


3

WinSCP 5.2 के साथ मैं .pgpएक SFTP साइट पर एक फ़ाइल एक्सटेंशन के साथ कई फाइलें रखना चाहता था । जब मैंने अपनी मूल कमांड लाइन का परीक्षण किया (नीचे देखें) और इसने केवल एसएफटीपी साइट पर पहली *.pgpवर्णमाला फ़ाइल ( D:\a.csv.pgp) रखी । मैंने निर्दिष्ट करने की कोशिश की *.PGPऔर *.pgpबिना किसी बदलाव के - D:\a.csv.pgpहर बार केवल एक फ़ाइल ( ) की प्रतिलिपि बनाई जाएगी। मुझे यह सभी फ़ाइलों के लिए काम करने के लिए मिला है, अगर मैंने प्रत्येक .pgpफ़ाइल के लिए पुट कमांड निर्दिष्ट किया है । कैसे *.pgpSFTP साइट पर सभी डाल करने के लिए पर कोई विचार ?

मूल कमांड लाइन - काम नहीं करता है
d:\winscp\winscp /command "option echo off" "option batch on" "option confirm off" "open sftp" "put D:\*.pgp" "close" "exit"

काम करता है
d:\winscp\winscp /command "option echo off" "option batch on" "option confirm off" "open sftp" "put D:\a.csv.pgp" "put D:\b.csv.pgp" "put D:\c.csv.pgp" "put D:\d.csv.pgp" "put D:\e.csv.pgp" "put D:\f.csv.pgp" "put D:\g.csv.pgp" "put D:\h.csv.pgp" "put D:\i.csv.pgp" "close" "exit"

जवाबों:


3

आप SCP मोड के बजाय SFTP मोड का उपयोग कर रहे हैं

प्रयास करें mput *.pgp(FTP कमांड के आधार पर अनुमान)

मैनुअल का कहना है कि वाइल्डकार्ड काम करना चाहिए

put <file> [ [ <file2> ... ] <directory>/[ <newname> ] ]
यदि केवल एक पैरामीटर निर्दिष्ट है, तो फ़ाइल को दूरस्थ कार्य निर्देशिका में अपलोड किया जाता है। यदि अधिक पैरामीटर निर्दिष्ट किए जाते हैं, तो अपलोड करने के लिए फ़ाइलों के अंतिम एक निर्दिष्ट सेट को छोड़कर सभी। अंतिम पैरामीटर अलग नाम के तहत फ़ाइल (नों) को स्टोर करने के लिए लक्ष्य दूरस्थ निर्देशिका और वैकल्पिक रूप से ऑपरेशन मास्क निर्दिष्ट करता है। गंतव्य निर्देशिका स्लैश के साथ समाप्त होनी चाहिए। एकाधिक फ़ाइलों का चयन करने के लिए फ़ाइलनाम को विंडोज वाइल्डकार्ड 1 के साथ बदल दिया जा सकता है)। अंतिम पैरामीटर के रूप में वर्तमान कार्य निर्देशिका के उपयोग के लिए अधिक फ़ाइलें अपलोड करने के लिए।

...

put *.html *.png /home/martin/backup/*.bak

आप लक्षित निर्देशिका को उद्धृत कमांड में अंतिम आइटम के रूप में रखना चाहिए।

d:\winscp\winscp /command "option echo off" "option batch on" "option confirm off" "open sftp" "put D:\*.pgp ""C:\Documents and Settings\newtowinscp\Documents\Backups""" "close" "exit"


चूंकि ओपी के पास अपनी put D:\*.pgpकमांड में केवल एक ही पैरामीटर है , इसलिए अंतिम पैरामीटर के रूप में लक्ष्य निर्देशिका को जोड़ना आवश्यक नहीं है। इसके अलावा आपके उदाहरण में, आप एक Windows पथ का उपयोग लक्ष्य निर्देशिका के रूप में करते हैं, जो काम नहीं करेगा (भले ही सर्वर विंडोज सर्वर है, SFTP के साथ, पथ को विभाजक के रूप में आगे स्लैश का उपयोग करना पड़ता है)।
मार्टिन प्रिक्रील

1

यदि आप इसे किसी स्क्रिप्ट से चला रहे हैं, तो आप केवल एक लूप बना सकते हैं। आप सूची से * .pgp फ़ाइलों और पुनरावृति के सभी ले जाएगा। आप वास्तव में व्यक्तिगत रूप से फाइलें अपलोड करेंगे; मुझे विश्वास नहीं है कि प्रोटोकॉल स्तर पर SFTP / SCP किसी भी समय एक साथ कई फ़ाइलों को स्थानांतरित करता है, इसलिए मुझे नहीं लगता कि इससे प्रदर्शन को प्रभावित करना चाहिए, यह संभवतः त्रुटि को भी आसान बना देगा।

मेरा मानना ​​है कि शुद्ध देशी कमांड लाइन के साथ ऐसा करने का एक तरीका है, लेकिन मेरी बैकअप स्क्रिप्ट्स में (मैं उलटा करता हूं, मैं अपनी एसएफटीपी साइट से फाइलें नीचे खींचता हूं) मैं इस प्रोग्राम (फॉरफाइल्स) का उपयोग माइक्रोसॉफ्ट से करता हूं: http: // technet.microsoft.com/en-us/library/cc753551(WS.10).aspx । मैं आपको वहां उदाहरणों के माध्यम से पढ़ने दूंगा कि आपकी आवश्यकताओं के लिए इसे सबसे प्रभावी तरीके से कैसे उपयोग किया जाए। असल में, आप फ़ाइल नाम के लिए वाइल्डकार्ड का उपयोग करेंगे और फिर प्रत्येक उदाहरण के लिए अपना अपलोड कमांड चलाएंगे।


0

आपकी पहली कमांड (साथ put D:\*.pgp) में कुछ भी गलत नहीं है ।

जैसा कि आप दावा करते हैं कि केवल एक ही फ़ाइल अपलोड की गई है, इसकी संभावना है क्योंकि कुछ त्रुटि होती है, जो स्क्रिप्ट को अन्य फ़ाइलों के साथ जारी रखने से रोकती है। यह ऑपरेशन में एक त्रुटि होनी चाहिए कि वास्तविक अपलोड (जैसा कि सफल होता है), जैसे अपलोड की गई फ़ाइल टाइमस्टैम्प या अनुमतियां अपडेट करना।

इस त्रुटि के रूप में: फ़ाइल अपलोड करें .. सफल रहा, लेकिन अनुमतियाँ और / या टाइमस्टैम्प सेट करते समय त्रुटि हुई। यदि समस्या बनी रहती है, तो अनुमतियाँ सेट करना या टाइमस्टैम्प को संरक्षित करना बंद करें। वैकल्पिक रूप से आप 'अनुमति त्रुटियों को अनदेखा' विकल्प को चालू कर सकते हैं।

आपको स्पष्ट रूप से देखना चाहिए कि स्क्रिप्ट आउटपुट या सत्र लॉग फ़ाइल में वास्तव में क्या गलत है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.