簡體   English   中英

將文件復制到另一台計算機上的共享文件夾

[英]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具有權限。

查找共享文件夾的簡單方法

  1. 打開Run對話框。
  2. 輸入帶有反斜杠的計算機名稱,例如\\\\ComputerNetworIdentity
  3. 找到網絡計算機共享的文件夾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM