मैं निर्देशिका में सी # में एक अलग ड्राइव में कैसे कॉपी करूं?एक निर्देशिका को एक अलग ड्राइव पर कॉपी करें
उत्तर
आप प्रदर्शन करने के लिए इस कोड का उपयोग कर सकते हैं आपका ऑपरेशन:
public static void CopyAll(DirectoryInfo source, DirectoryInfo target)
{
// Check if the target directory exists, if not, create it.
if (Directory.Exists(target.FullName) == false)
{
Directory.CreateDirectory(target.FullName);
}
// Copy each file into it’s new directory.
foreach (FileInfo fi in source.GetFiles())
{
Console.WriteLine(@”Copying {0}\{1}”, target.FullName, fi.Name);
fi.CopyTo(Path.Combine(target.ToString(), fi.Name), true);
}
// Copy each subdirectory using recursion.
foreach (DirectoryInfo diSourceSubDir in source.GetDirectories())
{
DirectoryInfo nextTargetSubDir =
target.CreateSubdirectory(diSourceSubDir.Name);
CopyAll(diSourceSubDir, nextTargetSubDir);
}
}
FileSystem.CopyDirectory(sourceDir, destDir);
FileSystem.CopyDirectory(sourceDir, destDir);
FileSystem.CopyDirectory
एक वीबी नाम स्थान और विधानसभा में है, लेकिन यह शायद कोई फर्क नहीं पड़ता।
कैसे करें: कॉपी, हटाएँ, और फ़ाइलें और फ़ोल्डर (सी # प्रोग्रामिंग गाइड)
http://msdn.microsoft.com/en-us/library/cc148994.aspx
सी # कॉपी फ़ोल्डर स्थानांतरित रिकर्सिवली
http://www.csharp411.com/c-copy-folder-recursively/
यह दिखाता है कि एक पुनरावर्ती प्रति कैसे करें। –
@ मैथ्यू: फिक्स्ड। –
private String path;
public int copyAllContents(String destinationFolder, ProgressBar progressBar)
{
int countCopyFiles = 0;
if (!Directory.Exists(destinationFolder))
{ Directory.CreateDirectory(destinationFolder); }
String[] allFilesForCurrentFolder = Directory.GetFiles(path, "*.*", SearchOption.TopDirectoryOnly);
String[] subFoldersAllpath = Directory.GetDirectories(path);
for (int i = 0; i < allFilesForCurrentFolder.Length; i++)
{
try { File.Copy(allFilesForCurrentFolder[i], destinationFolder + "\\" + Path.GetFileName(allFilesForCurrentFolder[i])); countCopyFiles++; progressBar.Value++; }
catch (Exception ex) { Console.WriteLine(ex.Message.ToString()); }
}
if (subFoldersAllpath.Length == 0)
{ return allFilesForCurrentFolder.Length; };
for (int i = 0; i < subFoldersAllpath.Length; i++)
{
this.path = subFoldersAllpath[i];
String[] subFoldersAllpathLastFolder = subFoldersAllpath[i].Split('\\');
countCopyFiles += this.copyAllContents(destinationFolder + "\\" + subFoldersAllpathLastFolder[subFoldersAllpathLastFolder.Length - 1], progressBar);
}
return countCopyFiles;
}
यदि आप अपना कोड सही तरीके से प्रारूपित करते हैं तो दूसरों के लिए यह आपके उत्तर को पढ़ने के लिए बहुत आसान है। साथ ही, अपने कोड में कुछ संदर्भ जोड़ना सर्वोत्तम है। इस बारे में लिखें कि आपको क्यों लगता है कि यह एक अच्छा जवाब है या यह अन्य उत्तरों की तुलना में अलग-अलग करता है। – mdewitt
यहाँ एक विस्तार है कि में काम करेंगे नेट 4.0+
var source = new DirectoryInfo(@"C:\Test");
var destination = new DirectoryInfo(@"E:\Test");
source.CopyTo(destination);
शामिल है:
static public void CopyFolder(string sourceFolder, string destFolder)
{
if (!Directory.Exists(destFolder))
Directory.CreateDirectory(destFolder);
string[] files = Directory.GetFiles(sourceFolder);
foreach (string file in files)
{
string name = Path.GetFileName(file);
string dest = Path.Combine(destFolder, name);
File.Copy(file, dest);
}
string[] folders = Directory.GetDirectories(sourceFolder);
foreach (string folder in folders)
{
string name = Path.GetFileName(folder);
string dest = Path.Combine(destFolder, name);
CopyFolder(folder, dest);
}
}
आप इस समारोह भी उपयोग कर सकते हैं:एक नीचे भी अच्छा है आपकी परियोजना में यह फ़ाइल
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace System.IO
{
public static class DirectoryInfoExtensions
{
public static void CopyTo(this DirectoryInfo source, DirectoryInfo target)
{
if (!target.Exists)
target.Create();
foreach (var file in source.GetFiles())
file.CopyTo(Path.Combine(target.FullName, file.Name), true);
foreach (var subdir in source.GetDirectories())
subdir.CopyTo(target.CreateSubdirectory(subdir.Name));
}
}
}
यहाँ एक दृष्टिकोण है कि प्रतियां एक async
समारोह के रूप में एक निर्देशिका रिकर्सिवली:
public static async Task CopyDirectoryAsync(string sourceDirectory, string destinationDirectory)
{
if (!Directory.Exists(destinationDirectory))
Directory.CreateDirectory(destinationDirectory);
foreach (var file in Directory.GetFiles(sourceDirectory))
{
var name = Path.GetFileName(file);
var dest = Path.Combine(destinationDirectory, name);
await CopyFileAsync(file, dest);
}
foreach (var subdir in Directory.GetDirectories(sourceDirectory))
{
var name = Path.GetFileName(subdir);
var dest = Path.Combine(destinationDirectory, name);
await CopyDirectoryAsync(subdir, dest);
}
}
public static async Task CopyFileAsync(string sourceFile, string destinationFile)
{
using (var sourceStream = new FileStream(sourceFile, FileMode.Open, FileAccess.Read, FileShare.Read, 4096, FileOptions.Asynchronous | FileOptions.SequentialScan))
using (var destinationStream = new FileStream(destinationFile, FileMode.CreateNew, FileAccess.Write, FileShare.None, 4096, FileOptions.Asynchronous | FileOptions.SequentialScan))
await sourceStream.CopyToAsync(destinationStream);
}
- 1. फ़ाइल को एक अलग निर्देशिका में कॉपी करें
- 2. फ़ाइलों की एक सूची को निर्देशिका में कॉपी करें
- 3. एक निर्देशिका की अन्य सामग्री को कॉपी करें
- 4. एक निर्देशिका बनाएं और एक फ़ाइल कॉपी करें
- 5. किसी नेटवर्क साझा ड्राइव पर फ़ाइल कॉपी करें
- 6. XCopy एक अलग गंतव्य के लिए एक निर्देशिका
- 7. अमेज़ॅन एस 3 निर्देशिका को दूसरी निर्देशिका में कॉपी करें
- 8. मेरी फ़ाइलों को एक निर्देशिका से दूसरी निर्देशिका में कैसे कॉपी करें?
- 9. शीर्ष 10 सबसे हाल की फ़ाइलों को एक निर्देशिका से दूसरी निर्देशिका में कैसे कॉपी करें?
- 10. सी # एक अलग नाम के साथ किसी अन्य स्थान पर फ़ाइल कॉपी करें
- 11. एक रिमोट मशीन पर एक गैर एक्सई फ़ाइल कॉपी करें
- 12. चींटी: एक ही फाइलसेट को कई स्थानों पर कॉपी करें
- 13. एक वर्ग को दूसरे में कॉपी करें?
- 14. डेटा को एक कॉलम से दूसरे कॉलम में कॉपी करें (जो एक अलग तालिका में है)
- 15. मेकफ़ाइल: एक अलग निर्देशिका पेड़ में बनाएं
- 16. नेटवर्क से Powershell कॉपी-मद पर की आवश्यकता है ड्राइव
- 17. हमेशा आउटपुट निर्देशिका में कॉपी करें
- 18. एक अलग डीएलएल परियोजना
- 19. सी # एक निर्देशिका को
- 20. उपयोगकर्ता ड्राइव को कॉपी/पेस्ट करने के लिए उपयोगकर्ता को आवश्यकतानुसार Google ड्राइव को प्रमाणित कैसे करें?
- 21. QTCreator फ़ाइलों को आउटपुट निर्देशिका में कॉपी करें
- 22. आईफोन संसाधन निर्देशिका से दस्तावेज़ निर्देशिका में कॉपी करें
- 23. अलग-अलग कीवर्ड को एक कॉलम
- 24. मोंगोमापर: दस्तावेज़ को एक नए दस्तावेज़ में कॉपी करें
- 25. दूसरा तर्क कॉपी करने के लिए() फ़ंक्शन एक निर्देशिका
- 26. 2 अलग-अलग ढांचे पर एक सीएमएस?
- 27. एसवीएन एक निर्देशिका को लॉक करें
- 28. एक अलग प्रक्रिया को इंटरफेस पास करें
- 29. फ़ाइलों को एक अलग उपनिर्देशिका में कॉपी करने के लिए मैपर और फाइलसेट का उपयोग करना?
- 30. निर्धारण अगर एक फ्लैश ड्राइव त्रुटि संदेश
lol, क्या? खेद है कि किसी के मजाक उड़ाए सिर्फ सोचा कि यह सवाल उल्लसित तरीके से उल्लसित है :) – VoodooChild
मैं समझता हूं कि प्रश्न का उत्तर दिया गया है, लेकिन आपको प्रश्न की गुणवत्ता को आजमाकर सुधारना चाहिए। यह बहुत अच्छी तरह लिखा नहीं है। –
मुझे लगता है कि हमें बंद करने के लिए एक नए कारण की आवश्यकता है - 'ओपी ने प्रयास किया है तो आसान है' – Gishu