मैं अपने सी # पर ब्रश कर रहा हूं इसलिए मैंने एक ऐसा प्रोग्राम लिखने का फैसला किया जिसे मैं आसानी से फ़ोटो आयात करने के लिए उपयोग कर सकता हूं। एक छोटी सी पृष्ठभूमि ... मैं जेपीईजी और रॉ में फोटो शूट करता हूं और फिर जेपीईजी के माध्यम से जाता हूं और वे हैंडल/पूर्वावलोकन करने के लिए छोटे और आसान होते हैं। मैं फिर उन रॉ फ़ाइलों को आयात करता हूं जो पोस्ट उत्पादन में गड़बड़ी करने योग्य हैं।सी # फ़ाइल में अनधिकृत एक्सेस अपवाद। कॉपीराइट
मैं एक ऐसी निर्देशिका से रॉ फ़ाइलों को कॉपी करने के लिए एक सरल प्रोग्राम लिखना चाहता था जो जेपीईजी से मेल खाता है जिसे मैंने दूसरे में घुमाया है।
static void Main(string[] args)
{
Console.WriteLine("Enter the JPEG Origin Directory: ");
string originDirectory = @"C:\Users\Greg\Pictures\Summer 2013\Back Bay\testJPEG";
Console.WriteLine("Enter the RAW Origin Directory: ");
string copyDirectory = @"C:\Users\Greg\Pictures\Summer 2013\Back Bay\testRAW";
Console.WriteLine("Enter the RAW Import Directory: ");
string rawCopyDirectory = @"C:\Users\Greg\Pictures\Summer 2013\Back Bay\testRAWImport";
char[] delimiterChars = { '_', '.' };
List<string> filesToCopy = new List<string>();
List<string> CopiedFiles = new List<string>();
foreach (var filePath in Directory.GetFiles(originDirectory))
{
Console.WriteLine("Filepath: '{0}'", filePath);
string[] words = filePath.Split(delimiterChars);
filesToCopy.Add(words[1]);
}
filesToCopy.ForEach(Console.WriteLine);
foreach (var copyFilePath in Directory.GetFiles(copyDirectory))
{
string[] delimited = copyFilePath.Split(delimiterChars);
if (filesToCopy.Contains(delimited[1]))
{
Console.WriteLine("Copied: '{0}'", copyFilePath);
string fileName = Path.GetFileName(copyFilePath);
string sourcePath = Path.GetDirectoryName(copyFilePath);
string targetPath = rawCopyDirectory;
string sourceFile = System.IO.Path.Combine(sourcePath, fileName);
string destFile = System.IO.Path.Combine(targetPath, fileName);
System.IO.File.Copy(sourcePath, destFile, true);
}
}
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
सब कुछ फिर भी मैं Copy.File
पर एक अपवाद हो रही है, काम करने के रूप में मैं जब मैं कंसोल के लिए सभी चर बारे में उम्मीद थी लगता है इंगित करता है कि फ़ाइलें हैं:
यहाँ कोड है सिफ़ पढ़िये। मैंने जांच की, और वे नहीं हैं, हालांकि फ़ोल्डर स्वयं ही है, और मेरे सर्वोत्तम प्रयासों के बावजूद मैं अपने परीक्षण फ़ोल्डरों को केवल पढ़ने के रूप में नहीं खोल सकता। किसी भी मदद की सराहना की जाएगी, मैंने नीचे अपवाद लॉग चिपकाया है।
System.UnauthorizedAccessException was unhandled
HResult=-2147024891
Message=Access to the path 'C:\Users\Greg\Pictures\Summer 2013\Back Bay\testRAW' is denied.
Source=mscorlib
StackTrace:
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
at System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite)
at ConsoleApplication1.Program.Main(String[] args) in C:\Users\Greg\documents\visual studio 2010\Projects\Photo Importer\Photo Importer\photoImporter.cs:line 56
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.Runtime.Hosting.ManifestRunner.Run(Boolean checkAptModel)
at System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly()
at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)
at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext)
at System.Activator.CreateInstance(ActivationContext activationContext)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
विंडोज एक्सप्लोरर? –
हाँ, यह सही है। – user2736424
क्या आपने फ़ोल्डर की संपत्तियों पर सुरक्षा अनुमतियां जांच ली हैं? –