XCOPY請教

我想整一個xcopy指令for backup每日的folder

A電腦每日都會有1個FOLDER 叫 2018-02-07(即係每日的日期), 想COPY去B電腦的2018-02-07
個FOLDER係變數,XCOPY可以點寫, 知道有個FUNCTION 係 \%_today% , 但唔知點運用法,個FOLDER格式一定係年-月-日咁排,無法更改

如果date 出 07/02/2018 星期三
試下
%date:~6,4%-%date:~3,2%-%date:~0,2%

TOP

回覆 2# emailaddress


好似唔得既
我來源的資料夾名是  [2018-02-07]

TOP

回覆 2# emailaddress


    好似唔得
我個來源資料夾是 [2018-02-07]

TOP

本帖最後由 燒浩 於 2018-2-13 10:10 編輯

用純 cmd 攞 datetime 唔會太準。可透過其他中介攞 datetime (如︰ VBScript)。雖然麻煩少少,唔會因為唔同 locale setting 而錯,準確好多。之前寫落咗個 VBScript,睇睇啱唔啱用。
  1. '#-----------------------------------------------------------------------------
  2. '#- datetime.vbs
  3. '#- Modified Date: 09-Jun-2017
  4. '#- Example:
  5. '#-     for /f "tokens=1-6" %%i in ('cscript //nologo "datetime.vbs"') do (
  6. '#-         set "year=%%~i"
  7. '#-         set "mon=%%~j"
  8. '#-         set "day=%%~k"
  9. '#-         set "hour=%%~l"
  10. '#-         set "min=%%~m"
  11. '#-         set "sec=%%~n"
  12. '#-     )
  13. '#-----------------------------------------------------------------------------


  14. Option Explicit

  15. Dim nowDateTime, nowYear, nowMonth, nowDay, nowHour, nowMinute, nowSecond
  16. Dim resDateTime
  17. Dim i, tmpArray

  18. Function twoDigits(inValue)
  19.     If inValue < 10 Then
  20.         inValue = "0" & inValue
  21.     End If
  22.     twoDigits = inValue
  23. End Function

  24. nowDateTime = Now()

  25. nowYear = DatePart("yyyy", nowDateTime)
  26. nowMonth = DatePart("m", nowDateTime)
  27. nowDay = DatePart("d", nowDateTime)
  28. nowHour = DatePart("h", nowDateTime)
  29. nowMinute = DatePart("n", nowDateTime)
  30. nowSecond = DatePart("s", nowDateTime)

  31. tmpArray = Array(nowYear, nowMonth, nowDay, nowHour, nowMinute, nowSecond)

  32. For i = 0 to UBound(tmpArray)
  33.     If i > 0 Then
  34.         resDateTime = resDateTime & "_" & twoDigits(tmpArray(i))
  35.     Else
  36.         resDateTime = twoDigits(tmpArray(i))
  37.     End If
  38. Next

  39. WScript.Echo resDateTime
複製代碼
謝 bongbong3481 修正。

TOP

要先知你個%date%係咩format先有得攪. 如畫面個format, 個batch file就.
  1. set today=[%date:~10,4%-%date:~4,2%-%date:~7,2%]
  2. xcopy /e /i c:\%today% \\server2\c$\%today%
複製代碼
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

TOP

我平時用開...夾埋落windows scheduler 行...
超陽春的說
@echo off
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
echo %mydate%

TOP

回覆 6# jj2a3


得左喇, 原來就咁%DATE%, thx

TOP

好奇怪,我用COPY指令COPY唔到我WIN7 桌面的FILE, 路徑無錯架
C:\Users\XXXXX\Desktop

TOP

回覆 5# 燒浩

同意,dos 個日期格式,吾易正確解讀到

TOP