命令列對文字檔案進行排序並將其複製到一個檔案會出現錯誤

命令列對文字檔案進行排序並將其複製到一個檔案會出現錯誤

我偶然發現了問題 217394,它解釋瞭如何將按字母順序排序的檔案複製到一個檔案中。嘗試自己執行該命令時出現以下錯誤訊息:系統找不到指定的檔案。
我嘗試運行的命令在這裡:

for /f %i in ('dir /ad /on /b O:\OrdersExport\Order*.txt') do @type %i >> C:\Users\Admin\Documents\OrderImport.txt

如果我先瀏覽到有問題的資料夾,則不會出現該錯誤:

C:\>O:
C:\>cd 訂單導入

我只想將一行從目標複製到該單一文件。

順便說一句,如果重要的話,O: 是網路上的映射資料夾

答案1

dir命令僅列出檔案名稱。所以%i變數充滿了相對路徑。如果該命令不是從有問題的目錄運行,請使用%~fi將相對路徑擴展為絕對路徑。

for /f "tokens=*" %i in ('dir /a-d /o-n /b "O:\OrdersExport\Order*.txt"') do (
    @type "%~fi" >> "C:\Users\Admin\Documents\OrderImport.txt"
)
  • tokens=*處理檔案名稱中的空格,因此%i始終是整行輸出dir

相關內容