我想将一个xml文件从一个远程盒子复制到一堆其他远程盒子,但我只想让它复制它当前已存在的现有文件。我怎么能这样做?
还有一个问题,是否有办法只在文件存在的情况下导出列表?
答案 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