2015-07-22 2 views
2

Как говорится в названии, я хочу копировать файлы из окон в Mac в моно. Вот мой C# код:Как скопировать файлы из окон в Mac в моно?

using System; 
using System.IO; 
namespace CopyFiles 
{ 
    public class EmptyClass 
    { 
     public static void Main() 
     { 
      string windowsPath = "\\\\another-machine-name\\Share\\Tem"; 
      string macPath = ".."; 
      CopyFiles (windowsPath, macPath); 
     } 

     public static bool CopyFiles(string oldPath, string newPath) 
     { 

      Directory.CreateDirectory (newPath); 
      if (!Directory.Exists (oldPath)) { 
       return false; 
      } 

      string[] directories = Directory.GetDirectories (oldPath); 
      if (directories.Length > 0) { 
       foreach (string d in directories) { 
        CopyFiles (d, newPath + d.Substring (d.LastIndexOf ("\\"))); 
       } 
      } 

      string[] files = Directory.GetFiles (oldPath); 
      if (files.Length > 0) { 
       foreach (string s in files) { 
        File.Copy (s, newPath + s.Substring (s.LastIndexOf ("\\"))); 
       } 
      } 
      return true; 
     } 
    } 
} 

winowsPath является общим путем. Я не знаю, как написать путь к макинтошу. Кто-нибудь может мне помочь?

ответ

1

Я предполагаю, что код будет работать на стороне OS X.

OS X имеет один корневой узел для файловой системы /. Все остальное находится под этим корневым узлом. Например, document.doc в вашей домашней папке будет называться как /Users/Long/document.doc.

Если вы не знаете, где находится файл, то вы можете выполнить следующие действия, чтобы выяснить:

  • Найдите папку контейнера в Finder
  • Открыть новое окно терминала
    • Тип сд{пробел}
  • Перетащите папку из Finder в терминал
  • Нажмите {возвращение}
  • Тип ржd{возвращение}

Это изменит текущую рабочую директорию к тому, которое вы используете в поиске, тогда pwd распечатает рабочий каталог (на экране), чтобы вы могли видеть, как должен выглядеть путь.

+0

Спасибо за ваш ответ. Как вы сказали, я перетащил свою папку общего доступа в терминал, получив путь '/ Volumes/Share/Tem'. – Long

+0

Спасибо за ваш ответ. Как вы сказали, после того, как я перетащил свою папку общего доступа в терминал, я получаю путь '/ Volumes/Share/Tem'. Затем я изменяю 'windowsPath' на'/Volumes/Share/Tem' и меняю 'macPath' на'/Users/Long/Desktop/TestFolder'. Оно работает. Папка «Tem», скопированная из окон в Mac ... но я не знаю, что является средним значением «/ томов». – Long

+0

'/ Volumes', где в файловой системе монтируются различные диски hdd, sdd и smb (etc ..). –

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