Environment.SpecialFolder.MyMusic 找不到位置 W7
Environment.SpecialFolder.MyMusic not finding location W7
好的,所以在我的工作中,我们做了很多格式,为了节省时间,我想我会制作一个简单的 c# 控制台应用程序,将用户数据复制到 USB 或便携式硬盘驱动器,以节省我们的时间。
复制图片文件夹中的内容时
string SourcePathPIC = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);
没有问题,但是当尝试复制音乐文件夹中的内容时,它告诉我认为它 Can't find path
,但是当在 Windows 10 上尝试相同的程序时,它起作用了。
Cs 文件中有音乐部分。
//MUSIC
try
{
Console.WriteLine("Downloading Music...");
string SourcePathMUSIC = Environment.GetFolderPath(Environment.SpecialFolder.MyMusic);
string DestinationPathMUSIC = DRIVELOCATION + @"\DOWNLOADEDDATA\music";
foreach (string dirPath in Directory.GetDirectories(SourcePathMUSIC, "*", System.IO.SearchOption.AllDirectories))
{
Directory.CreateDirectory(dirPath.Replace(SourcePathMUSIC, DestinationPathMUSIC));
}
foreach (string newPath in Directory.GetFiles(SourcePathMUSIC, "*.*", System.IO.SearchOption.AllDirectories))
{
File.Copy(newPath, newPath.Replace(SourcePathMUSIC, DestinationPathMUSIC), true);
Console.WriteLine(newPath);
}
Console.WriteLine("------------------------------------------------------------------");
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Music Downloaded");
Console.ForegroundColor = CONSOLECOLOUR;
Console.WriteLine("------------------------------------------------------------------");
}
catch
{
string SourcePathMUSIC = Environment.GetFolderPath(Environment.SpecialFolder.MyMusic);
string DestinationPathMUSIC = DRIVELOCATION + @"\DOWNLOADEDDATA\music";
foreach (string dirPath in Directory.GetDirectories(SourcePathMUSIC, "*", System.IO.SearchOption.TopDirectoryOnly))
{
Directory.CreateDirectory(dirPath.Replace(SourcePathMUSIC, DestinationPathMUSIC));
}
foreach (string newPath in Directory.GetFiles(SourcePathMUSIC, "*.*", System.IO.SearchOption.TopDirectoryOnly))
{
File.Copy(newPath, newPath.Replace(SourcePathMUSIC, DestinationPathMUSIC), true);
Console.WriteLine(newPath);
}
Console.ForegroundColor = ConsoleColor.Black;
Console.WriteLine("Unable To Copy Some Files, User Has Proctection On Music, You Will Need To Manually Copy The Remaining");
}
Console.ForegroundColor = CONSOLECOLOUR;
Console.WriteLine("------------------------------------------------------------------");
Console.ForegroundColor = CONSOLECOLOUR;
Console.WriteLine(" DOWNLOAD COMPLETE....");
Console.WriteLine("------------------------------------------------------------------");
Console.ReadKey();
}
catch(Exception ex)
{
var CONSOLECOLOR = Console.ForegroundColor;
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("");
Console.WriteLine(ex.Message);
Console.ForegroundColor = CONSOLECOLOR;
//System.Threading.Thread.Sleep(2000);
//Environment.Exit(1);
Console.ReadKey();
}
如果你需要看图片部分,让我知道,我可以更新我的问题,我没有添加它,因为我不想添加太多代码。
谢谢!
好的,我发布我的答案以防其他人遇到我遇到的同样问题。
我最终将框架从 3.5 更改为 4.6.1 编译和然后将框架切换回 3.5 和万岁,它的工作!.....奇怪!因为我没有更改任何代码。
好的,所以在我的工作中,我们做了很多格式,为了节省时间,我想我会制作一个简单的 c# 控制台应用程序,将用户数据复制到 USB 或便携式硬盘驱动器,以节省我们的时间。
复制图片文件夹中的内容时string SourcePathPIC = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);
没有问题,但是当尝试复制音乐文件夹中的内容时,它告诉我认为它 Can't find path
,但是当在 Windows 10 上尝试相同的程序时,它起作用了。
Cs 文件中有音乐部分。
//MUSIC
try
{
Console.WriteLine("Downloading Music...");
string SourcePathMUSIC = Environment.GetFolderPath(Environment.SpecialFolder.MyMusic);
string DestinationPathMUSIC = DRIVELOCATION + @"\DOWNLOADEDDATA\music";
foreach (string dirPath in Directory.GetDirectories(SourcePathMUSIC, "*", System.IO.SearchOption.AllDirectories))
{
Directory.CreateDirectory(dirPath.Replace(SourcePathMUSIC, DestinationPathMUSIC));
}
foreach (string newPath in Directory.GetFiles(SourcePathMUSIC, "*.*", System.IO.SearchOption.AllDirectories))
{
File.Copy(newPath, newPath.Replace(SourcePathMUSIC, DestinationPathMUSIC), true);
Console.WriteLine(newPath);
}
Console.WriteLine("------------------------------------------------------------------");
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Music Downloaded");
Console.ForegroundColor = CONSOLECOLOUR;
Console.WriteLine("------------------------------------------------------------------");
}
catch
{
string SourcePathMUSIC = Environment.GetFolderPath(Environment.SpecialFolder.MyMusic);
string DestinationPathMUSIC = DRIVELOCATION + @"\DOWNLOADEDDATA\music";
foreach (string dirPath in Directory.GetDirectories(SourcePathMUSIC, "*", System.IO.SearchOption.TopDirectoryOnly))
{
Directory.CreateDirectory(dirPath.Replace(SourcePathMUSIC, DestinationPathMUSIC));
}
foreach (string newPath in Directory.GetFiles(SourcePathMUSIC, "*.*", System.IO.SearchOption.TopDirectoryOnly))
{
File.Copy(newPath, newPath.Replace(SourcePathMUSIC, DestinationPathMUSIC), true);
Console.WriteLine(newPath);
}
Console.ForegroundColor = ConsoleColor.Black;
Console.WriteLine("Unable To Copy Some Files, User Has Proctection On Music, You Will Need To Manually Copy The Remaining");
}
Console.ForegroundColor = CONSOLECOLOUR;
Console.WriteLine("------------------------------------------------------------------");
Console.ForegroundColor = CONSOLECOLOUR;
Console.WriteLine(" DOWNLOAD COMPLETE....");
Console.WriteLine("------------------------------------------------------------------");
Console.ReadKey();
}
catch(Exception ex)
{
var CONSOLECOLOR = Console.ForegroundColor;
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("");
Console.WriteLine(ex.Message);
Console.ForegroundColor = CONSOLECOLOR;
//System.Threading.Thread.Sleep(2000);
//Environment.Exit(1);
Console.ReadKey();
}
如果你需要看图片部分,让我知道,我可以更新我的问题,我没有添加它,因为我不想添加太多代码。
谢谢!
好的,我发布我的答案以防其他人遇到我遇到的同样问题。
我最终将框架从 3.5 更改为 4.6.1 编译和然后将框架切换回 3.5 和万岁,它的工作!.....奇怪!因为我没有更改任何代码。