Windows 7 Forums


Windows 7: a simple batch file for copy files and folders

26 Apr 2012   #1

Windows 7 Ultimate x64
 
 
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 System SpecsSystem Spec

26 Apr 2012   #2

Windows 7 Pro 64bit
 
 

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 AM.. Reason: missed a bit
My System SpecsSystem Spec
28 Apr 2012   #3

Windows 7 Ultimate x64
 
 

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 System SpecsSystem Spec
.


29 Apr 2012   #4

Windows 7 Pro 64bit
 
 

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 System SpecsSystem Spec
Reply

 a simple batch file for copy files and folders problems?



Thread Tools



Similar help and support threads for: a simple batch file for copy files and folders
Thread Forum
search multiple files, copy+paste to new folder (batch file software?) General Discussion
Batch file or Exe to copy & rename directory and update files General Discussion
batch file to copy from virtual machine to USB Virtualization
How to make a multible copy batch file Software
Open Multiple Files one click - simple bat/batch file General Discussion


All times are GMT -5. The time now is 09:27 AM.


Seven Forums Android App Seven Forums IOS App Follow us on Facebook

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
  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32