[英]Programmatically get the full path of a shared folder on another computer?
[英]copy a file to shared folder on another computer
我正在嘗試將文件復制到映射的網絡位置。 如果我嘗試手動執行,則一切正常。
通過運行以下代碼,我不會得到任何異常,但不會在所需的位置得到代碼。
string _sharedLocation = @"C:\Users\pddd\AppData\Roaming\Microsoft\Windows\Network Shortcuts\system-tests";
if (Directory.Exists(_sharedLocation) && File.Exists(@"c:\\Automation\\Tests\\Test1\\events.json"))
{
File.Copy(@"c:\\Automation\\Tests\\Test1\\events.json", Path.Combine(_sharedLocation, "events11.json"), true);
}
關於該問題的任何建議。
查看_SharedLocation
變量,它位於以下位置: "...\\Windows\\Network Shortcuts\\..."
我只是在這里猜測,但是您是要引用網絡文件夾的快捷方式 ,而不是網絡文件夾嗎?
這將永遠無法工作:
File.Copy(myOriginalFile, "C:\...\MyShortcutToANetworkFolder\myFile.txt");
為什么不? 因為快捷方式基本上是一個文件 ,而不是一個文件夾 (它比這更復雜,但是出於參數的考慮,我將其保持簡單)。 您不能將文件(或其他任何文件)放入快捷方式。 您只能使用快捷方式打開它。
您需要實際的網絡文件夾路徑。
這將起作用:
File.Copy(myOriginalFile, "\\myServer\myFolder1\myFolder2\myFile.txt");
看來目標路徑_sharedLocation
也指的是本地路徑,而不是遠程路徑。
我猜您sharedLocation路徑無效。
如果您寫@“ c:\\”,它將引用運行代碼的本地驅動器,因此請更正
問題 :您的共享路徑引用同一台計算機的C:
驅動器。 可能是指映射網絡位置的快捷方式。
string _sharedLocation = @"C:\Users\pddd\AppData\Roaming\Microsoft\Windows\Network Shortcuts\system-tests";
它應該是:
string _sharedLocation = @"\\ComputerNetworkIdentity\SharedFolder\pddd\AppData\Roaming\Microsoft\Windows\Network Shortcuts\system-tests";
共享計算機可以使用\\\\ComputerName
。 您必須對shared folder
具有寫權限。
查找共享文件夾的簡單方法 :
Run
對話框。 \\\\ComputerNetworIdentity
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.