問題 1 を理解しました。質問 2 を参照してください。まだサポートが必要です。質問1の解決策については、私の回答を参照してください
これはコンソール C# ベースのプログラムです
質問1
ディレクトリ作成の作成をループしたい。次の方法を使用してディレクトリを複製しています (今のところ Do の使用は無視してください...デバイスの番号付けを正しく、適切な場所に配置したいだけです)。ここでは、アプリを毎回手動で実行するとします。各実行で次のようにリストの命名と番号付けをしたいのですが、次のようにリストを作成する必要があります...
C:\\ある場所\\デバイス
ロケーション内...
- デバイス 1 フォルダー内のコンテンツ
- 中身が入ったデバイス 2 フォルダ
- 中身が入ったデバイス 3 フォルダ
など...つまり、デバイスの名前を次のインデックスに置き換えるには、ある種のループが必要です
これは使用中のメソッドです...
- パス - ユーザー経由で読み取ります。たとえば、「D:\\」は D:\\ ドライブの内容を複製します
True - 意図したディレクトリだけでなく、サブディレクトリもコピーするためのデフォルト
DirectoryCopy(path, @"C:\\Custom Location to duplicate to", true);
メソッドの実装:
private static void DirectoryCopy(string sourceDirName, string destDirName, bool copySubDirs)
{
if (Directory.Exists(sourceDirName))
{
cancontinue = true;
DirectoryInfo dir = new DirectoryInfo(sourceDirName);
//Make an Array of Directories found on The Device
DirectoryInfo[] dirs = dir.GetDirectories();
if (!Directory.Exists(destDirName))
{
Directory.CreateDirectory(destDirName);
}
else
{
//Provide a Device Listing. Here is Where I am Stuck
for (int i = 1; i < 11; i++)
{
if (Directory.Exists(destDirName))
{
destDirName = destDirName + "\\Device\\ " + i.ToString();
}
else
{
break;
}
}
Directory.CreateDirectory(destDirName);
}
以下は、同じ方法でサブディレクトリをコピーするループです。現在のソリューションでは、次の出力が提供されます...
C:\Custom Location\Devices\Device 1\Contents
そして、デバイス 1 内で 2 番目のデバイスがコピーされ、その中で次のデバイスがコピーされます。
質問2
コピー先のパス、マシン名をカスタマイズしたい (公開目的)
//This Gets the Name Perfectly + The Added Desired Path Below
string MachineName = System.Environment.MachineName;
string DesiredPath = "\\Desktop\\Program\\";
DirectoryCopy(path, @"C:\Users\" + MachineName + DesiredPath, true);
問題 これは、アクセス拒否エラーが発生することです??? 何故ですか?回避策はありますか?