2014-01-23 66 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