这看起来非常简单,也许我只是忽略了适当的标志,但是我如何在一个命令中将一个文件从一个目录复制到另一个目录并在目标目录中重命名它呢?这是我的命令:

if exist "bin\development\whee.config.example"
  if not exist "TestConnectionExternal\bin\Debug\whee.config"
    xcopy "bin\development\whee.config.example"
          "TestConnectionExternal\bin\Debug\whee.config"

它每次都会提示我以下内容:

TestConnectionExternal \ bin \调试\哟。配置指定文件名 或目标上的目录名(F =文件,D =目录)?

我想压制这个提示;答案总是F。


当前回答

XCOPY中有一些未记录的特性。你可以使用:

本\开发\ whee.config选择复制文件”。”“c: \ mybackup \ TestConnectionExternal \ bin \调试\ whee.config *”

我今天刚测试过。: -)

其他回答

您不能指定它总是一个文件。如果不需要xcopy的其他特性,为什么不使用常规复制呢?

XCOPY中有一些未记录的特性。你可以使用:

本\开发\ whee.config选择复制文件”。”“c: \ mybackup \ TestConnectionExternal \ bin \调试\ whee.config *”

我今天刚测试过。: -)

因为您实际上并没有更改文件名,所以可以从目标文件中取出文件名,这样就不会有问题了。

xcopy bin\development\whee.config.example TestConnectionExternal\bin\Debug\  /Y

当目标目录保证存在时,当源可能同样是一个文件或目录时,这种方法工作得很好。

在目标路径的末尾放置星号(*),跳过D和F的争议。

例子:

xcopy "compressedOutput.xml" ../../执行 脚本/ APIAutomation /图书馆/ rerunlastfailedbuild.xml *”

如果你想复制文件并在目的地更改它的名称,正确的做法是:

Xcopy /f /y "bin\development\example.exe" “TestConnectionExternal \ bin \调试\ NewName.exe *”

一切都会好的