2017-04-16 103 views
1

我想創建一個文件夾中文件的所有名稱的文本文件。 所以我是這樣的:如何在c#中使用cmd創建文本文件?

Process getNamesProcess = new Process(); 
getNamesProcess.StartInfo.FileName = @"c:\**my folder path**"; 
getNamesProcess.StartInfo.Arguments = "dir /b >> names.txt"; 
getNamesProcess.Start(); 

然而,這並不爲我工作。該過程爲我打開一個文件夾,僅此而已。我應該改變什麼?

+0

注意:「>>」會附加到現有的文件;可能不是你想要的。 「>」將截斷現有的文件。 –

回答

1

我不知道你希望通過在StartInfo.FileName中放置一個文件夾路徑來實現什麼,但是你需要在那裏放置的是到cmd.exe的完整路徑。

然後,在StartInfo.Arguments你需要把"/C dir /b " + my_folder_path + " >> names.txt"

有關/C的功能的說明,請打開命令提示符並鍵入help cmd

1

一個更好的辦法是:

File.WriteAllLines("names.txt", Directory.GetFiles("c:\\path").Select(Path.GetFileName)); 

FileDirectoryPath類在System.IO命名空間。

+0

感謝您的答案,這將創建一個文件的完整路徑的文件tho,不只是名稱 – Adas

+1

我編輯了答案只輸出文件名。 –

相關問題