我想從一個遠程盒複製一個xml文件到一堆其他遠程盒,但我只希望它複製文件它當前有一個現有的文件已經到位。我怎樣才能做到這一點?Cygwin複製只有當文件已經存在
還有一個問題,有沒有辦法只在文件存在的情況下導出列表?
我想從一個遠程盒複製一個xml文件到一堆其他遠程盒,但我只希望它複製文件它當前有一個現有的文件已經到位。我怎樣才能做到這一點?Cygwin複製只有當文件已經存在
還有一個問題,有沒有辦法只在文件存在的情況下導出列表?
它使用普通的DOS命令你可以這樣做,就沒有必要訴諸cygwin
:
IF EXIST filename_on_remote_server COPY /Y filename_on_local_server filename_on_remote_server
或者,如果你正在爲cygwin
編寫腳本BASH
,那麼你可以參考this answer。
我不確定使用cygwin,但因爲它的窗口,你可以使用xcopy
。
xcopy \\remotebox1\file.xml \\remotebox2\file.xml /U /Y
這將複製文件,只有當它存在於目的地已經,並將覆蓋而不提示。
這會從裏面工作在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
我不認爲標準的Windows DOS提示符支持UNC路徑? – Tony
@Tony - 是的,它的確如此。您在網絡位置的前面加上\\。例如\\ somenetworklocation \ somefolder \ someotherfolder。請參閱此鏈接瞭解更多詳情:http://en.wikipedia.org/wiki/Path_%28computing%29#Uniform_Naming_Convention – dcp
似乎無法讓它工作,要麼拋出系統找不到指定的文件,或者如果我只需嘗試將光盤放到我的遠程盒子上即可\\ \ folder \ cmd不支持將UNC路徑作爲當前目錄。 –
Tony