मैं प्रोग्रामिंग से सी # का उपयोग कर अपने ड्रॉपबॉक्स फ़ोल्डर का पता कैसे लगा सकता हूं? * रजिस्ट्री? * पर्यावरण परिवर्तनीय? * आदि ...सी # का उपयोग करके मैं अपने ड्रॉपबॉक्स फ़ोल्डर को प्रोग्रामेटिक रूप से कैसे ढूंढूं?
उत्तर
UPDATED समाधान
के रूप में यहां कहा गया हैड्रॉपबॉक्स अब एक info.json फ़ाइल प्रदान करता है: https://www.dropbox.com/en/help/4584
आप JSON को पार्स से निपटने के लिए नहीं करना चाहते हैं, तो आप बस निम्नलिखित समाधान का उपयोग कर सकते हैं:
var infoPath = @"Dropbox\info.json";
var jsonPath = Path.Combine(Environment.GetEnvironmentVariable("LocalAppData"), infoPath);
if (!File.Exists(jsonPath)) jsonPath = Path.Combine(Environment.GetEnvironmentVariable("AppData"), infoPath);
if (!File.Exists(jsonPath)) throw new Exception("Dropbox could not be found!");
var dropboxPath = File.ReadAllText(jsonPath).Split('\"')[5].Replace(@"\\", @"\");
आप JSON पार्स करने के लिए चाहते हैं, तो आप JavaScripSerializer इस प्रकार का उपयोग कर सकते हैं:
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var dictionary = (Dictionary < string, object>) serializer.DeserializeObject(File.ReadAllText(jsonPath));
var dropboxPath = (string) ((Dictionary < string, object>)dictionary["personal"])["path"];
बहिष्कृत किया गया समाधान:
आप ड्रॉपबॉक्स \ host.db फ़ाइल पढ़ सकते हैं। यह आपकी AppData \ रोमिंग पथ में स्थित बेस 64 फ़ाइल है। इसका उपयोग करें:
var dbPath = System.IO.Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Dropbox\\host.db");
var dbBase64Text = Convert.FromBase64String(System.IO.File.ReadAllText(dbPath));
var folderPath = System.Text.ASCIIEncoding.ASCII.GetString(dbBase64Text);
आशा है कि इससे मदद मिलती है!
'System.Text.Encoding.UTF8.GetString (dbBase64Text) का उपयोग करें। मेरे पास एक उपयोगकर्ता था जिसमें पथ 'सी: \ उपयोगकर्ता \ जोर्ग \ ड्रॉपबॉक्स' था जो ASCII का उपयोग किया गया था, तो सही ढंग से नहीं पढ़ेगा। – jimbojones
कोई भी इस कोड का उपयोग करता है: यदि आपको पथ से पहले जंक डेटा मिला है, तो नीचे [ivanatpr का उत्तर] (http://stackoverflow.com/a/10401659/348336) देखें। – Gildor
इस विधि ने ड्रॉपबॉक्स के बाद के संस्करणों में काम करना बंद कर दिया। मेरा उत्तर नीचे ऐसा करने का वर्तमान तरीका दिखाता है। – Derek
यह रजिस्ट्री में संग्रहीत नहीं है (कम से कम यह सादे पाठ में नहीं है)। मेरा मानना है कि यह निम्नलिखित स्थान पर संग्रहीत है।
C: \ Users \ userprofile \ AppData \ रोमिंग \ ड्रॉपबॉक्स
मैं कहूंगा कि यह host.db या unlink.db फ़ाइल में रहता है।
config.db एक sqlite फ़ाइल है। अन्य दो अज्ञात हैं (एन्क्रिप्टेड)। Config.db में स्कीमा संस्करण के साथ केवल एक ब्लॉब फ़ील्ड होता है।
अद्यतन जुलाई 2016: कोड नीचे कोई अब कारण परिवर्तन करने के लिए ड्रॉपबॉक्स ग्राहक में काम करता है, को स्वीकार कर लिया उत्तर उपरोक्त के लिए उत्तर प्रदेश-टू-डेट हल देखने
रेनाल्डो के जवाब अनिवार्य रूप से सही है, लेकिन यह कुछ जंक उत्पादन देता है पथ से पहले क्योंकि host.db फ़ाइल में दो पंक्तियां प्रतीत होती हैं और इस मामले में आप केवल दूसरे को पढ़ना चाहते हैं। निम्नलिखित आपको बस रास्ता मिलेगा।
string appDataPath = Environment.GetFolderPath(
Environment.SpecialFolder.ApplicationData);
string dbPath = System.IO.Path.Combine(appDataPath, "Dropbox\\host.db");
string[] lines = System.IO.File.ReadAllLines(dbPath);
byte[] dbBase64Text = Convert.FromBase64String(lines[1]);
string folderPath = System.Text.ASCIIEncoding.ASCII.GetString(dbBase64Text);
Console.WriteLine(folderPath);
क्लीनर पिछले उत्तरों के आधार संस्करण (उपयोग वर ने कहा, मौजूद है जांच, चेतावनी निकालने के लिए): https://www.dropbox.com/help/4584?path=desktop_client_and_web_app
यह ड्रॉपबॉक्स से सुझाव दिया समाधान लगता है एक नया सहायक, %APPDATA%\Dropbox\info.json
या %LOCALAPPDATA%\Dropbox\info.json
में एक JSON फ़ाइल है।
अधिक जानकारी के लिए https://www.dropbox.com/help/4584 देखें।
यह स्वीकार्य उत्तर होना चाहिए :) –
हां। यह स्वीकार्य उत्तर होना चाहिए। 'Host.db' फ़ाइल ड्रॉपबॉक्स के नए संस्करणों द्वारा बनाई गई नहीं है। 'Hosts.db' पढ़ने की पुरानी विधि आपकी मशीन पर काम कर सकती है क्योंकि फ़ाइल को हटाने के लिए कोई ड्रॉपबॉक्स अपडेट परेशान नहीं है। –
ड्रॉपबॉक्स जोड़ा गया है:
private static string GetDropBoxPath()
{
var appDataPath = Environment.GetFolderPath(
Environment.SpecialFolder.ApplicationData);
var dbPath = Path.Combine(appDataPath, "Dropbox\\host.db");
if (!File.Exists(dbPath))
return null;
var lines = File.ReadAllLines(dbPath);
var dbBase64Text = Convert.FromBase64String(lines[1]);
var folderPath = Encoding.UTF8.GetString(dbBase64Text);
return folderPath;
}
इसे पढ़ने के लिए नमूना कोड डालना चाहिए था और आपको अधिक अपवॉट मिल सकते हैं और उत्तर के रूप में स्वीकार किया जा सकता है। – DermFrench
public static string getDropBoxPath()
{
try
{
var appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
var dbPath = Path.Combine(appDataPath, "Dropbox\\host.db");
if (!File.Exists(dbPath))
{
return null;
}
else
{
var lines = File.ReadAllLines(dbPath);
var dbBase64Text = Convert.FromBase64String(lines[1]);
var folderPath = Encoding.UTF8.GetString(dbBase64Text);
return folderPath;
}
}
catch (Exception ex)
{
throw ex;
}
}
host.db विधि ड्रॉपबॉक्स के बाद के संस्करणों में काम करना बंद कर दिया है।
https://www.dropbox.com/en/help/4584 अनुशंसित दृष्टिकोण देता है।
यहां सी # कोड है जिसे मैंने जेसन को पार्स करने और ड्रॉपबॉक्स फ़ोल्डर प्राप्त करने के लिए लिखा है।
// https://www.dropbox.com/en/help/4584 says info.json file is in one of two places
string filename = Environment.ExpandEnvironmentVariables(@"%LOCALAPPDATA%\Dropbox\info.json");
if (!File.Exists(filename)) filename = Environment.ExpandEnvironmentVariables(@"%APPDATA%\Dropbox\info.json");
JavaScriptSerializer serializer = new JavaScriptSerializer();
// When deserializing a string without specifying a type you get a dictionary <string, object>
Dictionary<string, object> obj = serializer.DeserializeObject(File.ReadAllText(filename)) as Dictionary<string, object>;
obj = obj[ "personal" ] as Dictionary<string, object>;
string path = obj[ "path" ] as string;
return path;
- 1. मैं सी # का उपयोग करके अपने Google ड्राइव फ़ोल्डर को प्रोग्रामेटिक रूप से कैसे ढूंढूं?
- 2. मैं अपने PermGen अंतरिक्ष उपयोग को प्रोग्रामेटिक रूप से कैसे ढूंढूं?
- 3. ड्रॉपबॉक्स एपीआई का उपयोग करके सभी ड्रॉपबॉक्स फाइलों और फ़ोल्डर को सूचीबद्ध करें और एंड्रॉइड
- 4. मैं स्वचालित रूप से उपयोगकर्ता का स्थान कैसे ढूंढूं?
- 5. एसक्यूएल का उपयोग करके, मैं अपने मूल्यों का उपयोग करके पंक्तियों को कैसे अपडेट करूं?
- 6. सी # रिपोर्ट प्रोग्रामेटिक रूप से
- 7. मैं अपने प्रोग्राम के मुख्य (...) फ़ंक्शन को कैसे ढूंढूं?
- 8. मैं सी # का उपयोग कर एएसपी.Net विकास सर्वर प्रोग्रामेटिक रूप से कैसे चला सकता हूं?
- 9. मैं लाटेक्स का उपयोग करके प्रोग्रामेटिक रूप से पीडीएफ कैसे उत्पन्न कर सकता हूं?
- 10. मैं पेपैल का उपयोग करके प्रोग्रामेटिक रूप से धनवापसी कैसे करूं?
- 11. JUnit4 का उपयोग करके परीक्षण सूट को प्रोग्रामेटिक रूप से निष्पादित करने के लिए कैसे करें?
- 12. ड्रॉपबॉक्स जैसे फ़ोल्डर को दूरस्थ स्थान से जोड़ता है
- 13. जावास्क्रिप्ट या Jquery का उपयोग करके प्रोग्रामेटिक रूप से "प्रिंट पूर्वावलोकन" स्क्रीन को कैसे कॉल करूं?
- 14. प्रोग्रामेटिक रूप से
- 15. मैं उन सभी तत्वों को कैसे ढूंढूं जिनके पास jQuery का उपयोग करके शीर्षक विशेषता है?
- 16. मैं संशोधित अनुमतियों को प्रोग्रामेटिक रूप से कैसे जांचूं?
- 17. मैं ViewByTag कैसे ढूंढूं?
- 18. अपने स्वयं के ऐप्स डेटा को प्रोग्रामेटिक रूप से
- 19. 30,000 फ़ाइलों के साथ फ़ोल्डर को हटाने के लिए ड्रॉपबॉक्स वेब इंटरफ़ेस का उपयोग
- 20. मैं प्रोग्राम आइकन प्रोग्रामेटिक रूप से एंड्रॉइड
- 21. सी # प्लेबैक डिवाइस को प्रोग्रामेटिक रूप से कैसे बदलें
- 22. आईओएस: XIB का उपयोग करके प्रोग्रामेटिक रूप से दृश्य कैसे बनाएं, लेकिन व्यू कंट्रोलर
- 23. ksoap2-android का उपयोग करके मैं अपने PHP webservice को सही तरीके से कैसे कॉल करूं?
- 24. रूबिक के घन को प्रोग्रामेटिक रूप से
- 25. एंड्रॉइड प्रोग्रामेटिक रूप से
- 26. मैं अपने रीफ्रेश टोकन का उपयोग करके अपने google_oauth2 एक्सेस टोकन को रीफ्रेश कैसे करूं?
- 27. प्रोग्रामेटिक रूप से माउस को
- 28. प्रोग्रामव्यू को प्रोग्रामेटिक रूप से
- 29. प्रोग्रामेटिक रूप से स्वयं को कैसे हटाएं? (सी # विनमोबाइल)
- 30. कमांड लाइन का उपयोग करके मैं सभी फ़ाइलों को एक फ़ोल्डर से दूसरे फ़ोल्डर में कैसे स्थानांतरित कर सकता हूं?
क्षमा करें - मेरी टिप्पणी बकवास थी, यह नहीं देखा था कि regkeys ड्रॉपबॉक्स डीएल पर इंगित कर रहे थे, ड्रॉपबॉक्स स्थान नहीं। इस मंच पोस्ट को मिला लेकिन ऐसा लगता है कि यह काम नहीं कर सकता है: http://forums.dropbox.com/topic.php?id=47895 मैं व्यक्तिगत रूप से डंकडैंक के समान ही कर रहा हूं लेकिन अनुमान लगाता हूं कि यह उपयोगकर्ताओं के व्यक्तिगत पर काम नहीं करेगा अगर वे डिफ़ॉल्ट स्थान बदलते हैं तो इंस्टॉल करता है। –
क्या आपने यह देखने के लिए इंस्टॉल प्रक्रिया के दौरान [प्रोसेस एक्सप्लोरर] (http://technet.microsoft.com/en-us/sysinternals/bb896653) का उपयोग करने का प्रयास किया है और यह पता लगाने के लिए आप क्या संकेत दे सकते हैं? –