仅当文件已存在时才会复制Cygwin

时间:2012-06-19 15:30:11

标签: cygwin

我想将一个xml文件从一个远程盒子复制到一堆其他远程盒子,但我只想让它复制它当前已存在的现有文件。我怎么能这样做?

还有一个问题,是否有办法只在文件存在的情况下导出列表?

3 个答案:

答案 0 :(得分:3)

我不确定使用cygwin但是因为它是Windows,你可以使用xcopy

xcopy \\remotebox1\file.xml \\remotebox2\file.xml /U /Y

仅当文件已存在于目标中时才会复制该文件,并且会在不提示的情况下覆盖该文件。

答案 1 :(得分:2)

您可以使用常规DOS命令来执行此操作,无需诉诸cygwin

IF EXIST filename_on_remote_server COPY /Y filename_on_local_server filename_on_remote_server

或者,如果您要为BASH撰写cygwin脚本,则可以参考this answer

答案 2 :(得分:0)

这将在bash文件中从内部起作用:

if [ -f /path/to/file.xml ]; then
  cp /path/to/file.xml /path/to/other/file.xml
fi

命令行的单行可能是:

[ -f /path/to/file.xml ] && cp /path/to/file.xml /path/to/other/file.xml