2017-04-10 6 views
0

ランダムフォルダー名を作成し、そのフォルダーにファイルをコピーするのに役立つ必要があります。私は以下を使用しようとしましたが、いったんフォルダが作成されるとstorescpが終了します。だから、フォルダを作成して文字列に追加する必要がありますが、ランダム関数によって作成されたフォルダの名前を格納する方法はわかりません。ランダムフォルダーを作成し、ランダムフォルダーにコピー

Random random = new Random(); 
int randomNumber = random.Next(0, 1); 
var Result = Path.GetRandomFileName(); 

var Name = Directory.CreateDirectory(dicompath +"\\"+ Result); 
/////////////////////////////// 
finalpath = port + " -pm" + " --fork " + " -aet " + AE +" " + "-od " + ((char)34) + Name + ((char)34); 
Process startInfo2 = new Process(); 
      startInfo2.StartInfo.CreateNoWindow = true; 
      startInfo2.StartInfo.UseShellExecute = false; 
      startInfo2.StartInfo.RedirectStandardOutput = true; 
      startInfo2.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 
      startInfo2.StartInfo.FileName = @"C:\dcmtk\bin\storescp-tls.exe"; 
      startInfo2.StartInfo.Arguments = finalpath; 
      startInfo2.StartInfo.RedirectStandardOutput = true; 
      //int seconds = await SleepAsync(2000); 
     startInfo2.Start(); 
+1

を[ 'CreateDirectory'](HTTPS: //msdn.microsoft.com/en-us/library/54a0at6s(v=vs.110).aspx)は、['DirectoryInfo'](https://msdn.microsoft.com/en-us/library/system)を返します。 .io.directoryinfo(v = vs.110).aspx)。 'Name.FullName'を使うことができます。 –

+0

なぜGuidを使用しないのですか?あなたは単に 'string'RandomName = new Guid().ToString();'を実行し、次に 'Directory.CreateDirectory(discompath +" \\ "+ randomName);のように変数' randomName'を使用してパスを保存することができます'var path = discompath +" \\ "+ randomName;' –

+0

ケビン・ジェンセン・ピーターソン(Kevin Jensen Peterson)のように変わっているようです。あなたは揺れる。 –

答えて

0

string dir = Path.Combine(dicompath, new Random().Next(0, 10)); 
Directory.CreateDirectory(dir); 
string final = string.Format("{0} -pm --fork -aet {1} -od \"{2}\"", port, AE, dir) 
0

ベストアプローチは、あなたのフォルダのランダムな名前としてGUIDを使用することです。

あなたはこのようにそれを使用することができます:あなたは乱数パス(私もあなたの連結を片付けてきた)場合

var randomName = Guid.NewGuid().ToString(): 
var fullPath = Path.Combine(dicompath, randomName); 
Directory.CreateDirectory(fullPath); 
finalpath = port + " -pm" + " --fork " + " -aet " + AE +" " + "-od " + ((char)34) + fullPath + ((char)34); 
//.... rest of your code.... 
関連する問題