最佳解决方法:访问路径 'C:\..\USB-map' 被拒绝,因为地图已被使用

Best way to fix: Acces to path 'C:\..\USB-map' is denied because map is already used

我正在尝试创建一个包含以下代码的 .cmd 文件:call .\CopyToTarget.cmd w60 glb "C:\Users\oma\me\trunk-r664\USB-map"。我正在创建这段代码 ~5 次。

但是由于 \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" + "\""));

File.CreateText 将创建一个新文件。当 for 循环第一次执行时,它会创建并打开文件 USB-map 并保存该文件的句柄。在 for 循环的第二次迭代期间,它将尝试做同样的事情。因此,已经在使用错误。

删除File.CreateText,您将得到想要的结果。

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