2016-07-25 42 views
2

我試圖在shell腳本中運行robocopy(這是一個git鉤子)。它工作正常,直到我添加選項/XObat和sh之間的命令行參數語法有什麼區別?

於是命令:

robocopy source destination a.txt 

作品正確.BAT和sh文件。

但命令

robocopy source destination a.txt /XO 

在.SH失敗,錯誤:

ERROR : Invalid Parameter #3 : "C:/Program Files/Git/XO"

,而它正常工作在bat文件。

所以問題出在/XO選項robocopy;更具體地說,shell腳本將參數傳遞給robocopy的方式。

請提出解決方案。

+0

所以,這個混帳bash的是基於Cygwin的或MSYS?與['msys'這個問題不應該出現](http://sourceforge.net/mailarchive/message.php?msg_id=8686481)。 – anishsane

+0

檢查http://stackoverflow.com/questions/13701218/windows-path-to-posix-path-conversion-in-bash/13702694#13702694 – anishsane

回答

0

如果您爲此使用Git Bash,它會智能地將Unix風格的選項轉換爲Windows風格的選項。因此,舉例來說,下面的命令:

robocopy source destination a.txt -xo 

會告訴你,這是使用/xo選項:

------------------------------------------------------------------------------- 
    ROBOCOPY  ::  Robust File Copy for Windows 
------------------------------------------------------------------------------- 

    Started : Tue Feb 06 15:58:53 2018 

    Source : c:\gitbashdir\source 
    Dest : c:\gitbashdir\destination\ 

    Files : a.txt 

    Options : /COPY:DAT /XO /R:1000000 /W:30 

    : blah blah blah : 

    Ended : Tue Feb 06 15:58:53 2018 
相關問題