0

Я пытаюсь создать файл .cmd с этим кодом: call .\CopyToTarget.cmd w60 glb "C:\Users\oma\me\trunk-r664\USB-map". Я создаю этот код ~ 5 раз.Лучший способ исправить: Доступ к пути «C: .. USB-map» отрицается, потому что карта уже используется

Но так как \trunk-r664\ уже используется, я не могу написать: @"\trunk-r664\USB-map" в .cmd-файле по какой-то причине. Кто-нибудь знает, как это исправить? Он продолжает получать мне ошибку: UnauthorizedAccesExpection was unhandled, ccess to the path 'C:\Users\me\Desktop\trunk-r664\USB-map' is denied.

using (StreamWriter sw = File.CreateText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) 
+ "\\trunk-r664\\trunk\\cmd\\custom\\RunAll.cmd")) 
{ 
    for (int j=0;j<installeerlijst64.Count;j++) 
    { 
     sw.WriteLine("call .\\CopyToTarget.cmd " + installeerlijst64[j] + " glb" + 
File.CreateText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\trunk-r664\USB-map")); 
    } 
} 

Я тоже пытался, но он говорит мне, что я использую нелегальный характер:

"\""+File.CreateText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) 
+ @"\trunk-r664\USB-map" + "\"")); 
+0

Обратите внимание, что 'UnauthorizedAccessException' и' 'уже используется' 'являются двумя разными ошибками и могут возникнуть по двум причинам. – Ricky

ответ

1

File.CreateText создаст новый файл. В первый раз, когда цикл for выполняется, он будет создавать и открывать файл USB-карты и удерживать дескриптор этого файла. Во время второй итерации цикла for он попытается сделать то же самое. Следовательно, уже используется ошибка.

Удалить File.CreateText, и вы получите желаемый результат.

sw.WriteLine("call .\\CopyToTarget.cmd " + installeerlijst64[j] + " glb " + "\"" + 
Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\trunk-r664\USB-map" + "\""); 

 Смежные вопросы

  • Нет связанных вопросов^_^