2014-01-23 67 views
0

我正在修改批處理腳本以將目錄從一個位置移動到另一個位置。在批處理代碼中,有這兩行。我不知道,第一部分瞭解xcopy命令

echo xcopy %SOURCE_FILE% %TARGET_FILE% /Y /Z /C /F 1>>"%logfile%" 2>&1

echo F|xcopy %SOURCE_FILE% %TARGET_FILE% /Y /Z /C /F 1>>"%logfile%" 2>&1

  1. 做這行代碼執行復制或只寫了日誌文件?我問這是因爲代碼當前是複製的,但是,沒有前面的回顯沒有xcopy的行。
  2. 第二行F|xcopy是什麼意思?
  3. 其他然後在第二行F|xcopy,兩者之間有什麼區別?

回答

0

第一次將要執行的命令寫入日誌文件,但沒有任何用處。

第二個實際上執行XCOPY,但回答了被問到字母「F」的問題,據推測當XCOPY詢問「你的意思是文件或目錄?」時。

+0

後續問題:因此,我正在複製一個包含其他目錄和文件的目錄,使用| F工作來複制所有目錄和文件? – staples89

+0

它的作用與您輸入XCOPY命令時沒有「ECHO F |」完全相同然後按Enter鍵,然後在詢問問題時鍵入「F」一次(然後按Enter鍵)。 –

+0

這是否回答您的問題?如果是這樣,你能接受我的答案,所以我得到一個可愛的大綠色勾號?否則,請說什麼都行不通,所以我(和其他人)可以進一步幫助你。 –

0

|是一個管道符號。它將之前的命令輸出傳遞給後面的命令。

所以echo F(它是F)的結果給了xcopy-command。所以如果xopy要求用戶輸入,它會得到「F」。

簡單的例子:

echo . | pause 

試試吧,pause等待一個按鍵,但echo . deliveres此擊鍵。

0
  1. 只是報告要做什麼。最好使用xcopy上的/L開關。

  2. echo f|表示用「f」回答潛在的提示。提示將是「目的地是目錄或文件」響應是「文件」

  3. 僅第一次報告,第二次執行。

+0

作爲對3的迴應: 如果第一個人在等待「f」並從未得到它,是否超時並轉到第二個? – staples89

+0

否 - 它等待迴應。這可能是一個遊戲,因爲提示可能被重定向到文件。 – Magoo