2012-05-21 70 views
-1

這只是一個示例,但它有助於說明我正在嘗試做什麼。在c#腳本中獲取和使用當前目錄

我知道如何獲取當前目錄,如下面的腳本所示,我可以設置一個文件variable

我遇到的問題是,我無法弄清楚如何使創建文件夾並

例如(使用下面的變量)

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.IO; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      var cd = Directory.GetCurrentDirectory(); 
      Directory.CreateDirectory(cd: \5app\); 
      File.Copy(c:\xyz.txt, cd: \5app\xyz.txt 

     } 
    } 
} 
把文件夾中

我知道我上面寫的是不正確的,因爲vs10告訴我,但是沒有給我很多幫助。

+4

我建議看看MSDN的文檔。看來你剛剛找到了這個函數,並開始拋出參數。如果你看一下文檔中的例子,你將會有一個很好的開始。 –

+0

@ abe-meissler這。我在我的答案中包含了針對函數'CreateDirectory'和'Copy'的特定MSDN文章的鏈接... – EtherDragon

+0

現在接受答案會很好。 –

回答

3

您不使用引號。

另外,我建議不要使用明確的參數命名。如果您查看使用顯式參數時生成的CIL,則會將性能降級,因爲參數變量將保存到局部變量中,然後傳遞。這會導致不需要的strfld命令。

+1

也關閉你的'File.Copy(c:\ xyz.txt,cd:\ 5app \ xyz.txt'語句 –

3

你缺少一個括號和分號,並且,特別是,方法Directory.CreateDirectory()File.Copy()參數都是字符串,把它們放在引號內:

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      var cd = Directory.GetCurrentDirectory(); 
      Directory.CreateDirectory(cd + @"\5app\"); 
      File.Copy(@"c:\xyz.txt", cd + @"\5app\xyz.txt"); 
     } 
    } 
} 

MSDN引用:Directory.CreateDirectoryFile.Copy

謝謝到Cole Johnson指出它不應該是@"cd: \5app\"

+1

Cd:不會用引號括起來,它是顯式參數的參數名稱 –

+0

謝謝,我已經修復它 –

2

有幾個問題與您的代碼,其中編譯器錯誤可能會幫助你解開:

的方法Directory.CreateDirectory(string path)需要一個字符串,這在「」包裹。 下面是關於如何使用Directory.CreateDirectory

用相同方法File.Copy(string source, string destination) 下面是關於如何使用File.Copy

由於Directory.GetDirectory()返回一個字符串的MSDN文章,你可以concatinate的MSDN文章你特定的目錄到結果。但請記住在您的字符串中使用適當的Escape Sequences,例如反斜槓

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      string cd = Directory.GetCurrentDirectory(); 
      Directory.CreateDirectory(cd + "\\5app\\"); 
      File.Copy("c:\\xyz.txt", cd + "\\5app\\xyz.txt"); 
     } 
    } 
} 
+0

謝謝....我看到我的錯誤在哪裏。 – Spdwiz18

+0

@ user1408958如果這些職位之一是你的答案,請務必標記它。 – EtherDragon