2017-05-18 67 views
-4

我試圖自動將文件移動到日期的文件夾,但我得到一個移動目錄中的文件日期爲目錄c# - 獲取轉換錯誤

抑制狀態錯誤CS1503參數1:無法從「系統轉換。 Collections.Generic.IEnumerable」到‘字符串’

的代碼如下:

IEnumerable<string> files = Directory.EnumerateFiles(@"PICS_CAM1\"); 
//string files = @"PICS_CAM1\"; 

string Todaysdate = DateTime.Now.ToString("dd-MMM-yyyy"); 
string newPath = Path.Combine(@"PICS_CAM1\", Todaysdate); 

if (!Directory.Exists(newPath)) 
    Directory.CreateDirectory(newPath); 

File.Move(files, Path.Combine(newPath, Path.GetFileName(newPath))); <--error on this line  
//File.Move(dir, newPath); 

如前所述,我得到的錯誤是在Word文件中所述file.move行:無法從「System.Collections.Generic.IEnumerable」轉換到「字符串

+2

該錯誤是相當解釋,爲什麼你得到它.. –

+0

你有看的[File.Move]的文檔(https://msdn.microsoft。 COM/EN-US /庫/ system.io.file.move(v = vs.110)的.aspx)?顯然它不接受'IEnumerable '作爲第一個參數,而是一個單獨的字符串。 – mason

回答

1

可變FilesIEnumerable<string>File.Move接受類型爲string

要解決這個問題:

foreach(var file in files) 
{ 
    File.Move(file, Path.Combine(newPath, Path.GetFileName(newPath))); 
} 
+0

感謝Karolis,修復了錯誤,但它現在移動文件,並將其重命名爲日期目錄的名稱。我有一個\ PICS_CAM1 \ test.text,它將它移動到2017年5月18日至2017年5月18日。沒有擴展。我只想移動到\ 18-MAY-2017 \ test.txt想法?我試圖刪除文件名上的\。 –

+0

@BradJarrett你可以通過清楚地思考你的命名邏輯來弄清楚自己。 – mason

+0

@BradJarrett這是另一個問題。請圍繞這個問題進行調查。如果你有更多的問題,你可以自由發佈到SO上。 – Karolis