a simple batch file for copy files and folders


  1. Posts : 8
    Windows 7 Ultimate x64
       #1

    a simple batch file for copy files and folders


    I want to write a batch file that do this for me:

    - makes a directory with the "yy.mm.dd.hh.mm" as the directory name,
    - copies files and folders from a TEST directory to above destination,
    - copies only new (or modified) files from the TEST directory to a separate folder.

    Any Idea?
      My Computer


  2. Posts : 2
    Windows 7 Pro 64bit
       #2

    To create a directory with the date and time as the name, In a batch file use:

    set DirName=%date:~-4,4%.%date:~-7,2%.%date:~0,2%.%time:~0,2%.%time:~3,2%
    MD \%DirName%

    Then in the same batch file use robocopy to copy files to the new directory

    robocopy TEST %DirName% /e

    you need to add your own paths and read the robocopy help for the right switches you need.
    By default Robocopy copies only files that don't exist in the target directory but because you are creating a new directory every time it will copy every thing in TEST

    You could use the /A switch which only copies files with the Archive attribute set.
    Last edited by b3achcomber; 26 Apr 2012 at 09:34. Reason: missed a bit
      My Computer


  3. Posts : 8
    Windows 7 Ultimate x64
    Thread Starter
       #3

    Thanks, It works but a sample output is 4/28.2/.12. 9.31 and it contains special characters.

    I found another answer, it works too!

    Code:
    :: DateTime - Windows NT4 and above
    @echo off 
    setlocal EnableExtensions
    :: Date and time routines by Ritchie Lawrence
    :: Windows NT4 and above
    :begin
    (set today=%date%)
    set t=2&if "%date%z" LSS "A" set t=1
    for /f "skip=1 tokens=2-4 delims=(-)" %%a in ('echo/^|date') do (
      for /f "tokens=%t%-4 delims=.-/ " %%d in ('date/t') do (
      set %%a=%%d&set %%b=%%e&set %%c=%%f))
    (set yy=%yy%&set mm=%mm%&set dd=%dd%)
    for /f "tokens=5-8 delims=:. " %%a in ('echo/^|time') do (
      set hh=%%a&set nn=%%b&set ss=%%c&set cs=%%d)
    if 1%hh% LSS 20 set hh=0%hh%
    (set hh=%hh%&set nn=%nn%&set ss=%ss%&set tt=%cs%)
    if not "%date%"=="%today%" goto :begin
    
    :: The following lines set and create a folder with the timestamp variable
    set timestamp=%yy%.%mm%.%dd%.%hh%.%nn%.%ss%
    MD %timestamp% 2>nul
      My Computer


  4. Posts : 2
    Windows 7 Pro 64bit
       #4

    strange on my system it creates a directory exactly as you asked without special chars.

    Glad you found a solution that works for you.
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 03:34.
Find Us