各位大神好
我想利用bat檔自動更新下圖兩個資料夾裡的檔案
圖一:有三個dll檔,在D:\CC\application路徑下
圖二:有一個excel檔,在D:\CC\dat\A1路徑下
圖三:更新來源在D:\update,所有檔案混再一起(含bat檔)
想將上方舊資料夾的檔案直接覆蓋,完成後會出現已完成更新字樣
參考https://ithelp.ithome.com.tw/questions/10200068 文章的回覆
修改自己的程式如下(先修改dll檔)
@Echo Off
Set ReleasePath=D:\update
Set TargetPath=D:\CC\application
For /f %%i In ('Dir "%ReleasePath%\*.dll" /o-n-es /a-d /b') Do (
If Not Exist "%TargetPath%\%%i" Echo Xcopy /Y "%%~fi" "%TargetPath%\%%i"
Goto EOF
)
pause
但看起來沒有反應
請教大神該如何撰寫
※初學中,請見諒
@Echo Off
rem 設定更新來源路徑
Set ReleasePath=D:\update
rem 設定目標路徑
Set TargetPath=D:\CC\application
rem 設定檔案類型
Set FileType=*.dll
rem 從更新來源路徑中搜尋檔案
For /f %%i In ('Dir "%ReleasePath%\%FileType%" /o-n-es /a-d /b') Do (
rem 複製檔案到目標路徑
Xcopy /Y "%%~fi" "%TargetPath%\%%i"
rem 顯示已複製的檔名
echo 已複製檔案:%%i
)
rem 顯示已完成更新
echo 已完成更新
rem 暫停
pause
⑴If Not Exist "%TargetPath%%%i" EchoGoto EOF
@Echo Off
Set ReleasePath=D:\update
Set TargetPath=D:\CC\application
For /f %%i In ('Dir "%ReleasePath%\*.txt" /o-n-es /a-d /b') Do (
Xcopy /Y "%%~fi" "%TargetPath%\%%i"
)
pause
⑵改用robocopy
@Echo Off
Set ReleasePath=D:\update
Set TargetPath=D:\CC\application
robocopy /IS /IM /NJH /NJS %ReleasePath% %TargetPath% *.txt
pause