2017-04-10 165 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();'然後像這樣使用變量'randomName':'Directory.CreateDirectory(discompath +「\\」+ randomName);'並存儲路徑在一個像這樣的變量:'var path = discompath +「\\」+ randomName;' –

+0

凱文延森彼得森,似乎工作。你搖滾。 –

回答

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.... 
相關問題