2017-04-12 341 views
0

今天我想獲取特定目錄中的文件列表。做到這一點,最簡單的方法是打開的提示和運行命令行命令命令

dir > filelist.txt 

我認爲首先是「dir」命令運行,然後將其輸出創建。它被重定向到文件。

然而有趣的是,「Filelist.txt中」的目錄清單中包括「fielist.txt」與未預期的零個字節。

一旦命令完成「Filelist.txt中」實際上示出了作爲具有450個字節(當我執行DIR沒有重定向,相同的提示)。

1)爲什麼'filelist'txt'顯示出來呢?

2)什麼是命令提示符在幕後做?

回答

0

我認爲首先運行'dir'命令,然後創建其輸出。

輸出會在哪裏住在其間?

輸出是默認顯示在控制檯上,即由程序輸出後幾乎立即。現在

,如果你輸出重定向到一個文件,相反,它被寫入,因爲它會被寫入到控制檯,文件:此刻的程序寫入輸出。

即使命令沒有輸出,文件仍然被創建。控制檯首先嚐試創建請求的輸出文件;如果失敗,請求的命令甚至不會被執行。

+0

我假定存在,其中每個命令運行時,它的輸出被緩衝(在這種情況下將不包括下一個輸入),然後傳遞到下一個輸入的背景一些緩衝。有點像水槽或中間件。 –