Batch Process: Should We Change from BAT File to VB or VBScript

M

MJ

We are in the process of moving to a new server and are trying to clean up
some old and very manual processes.

We currently have a batch file that is kicked off manually by a user to copy
files from our current FTP folder to a network processing folder on a
different server, i.e.:

copy \\server1\FTP\FILE01*.txt \\serverNEW\ProcessDir
copy \\server1\FTP\FILE02*.txt \\serverNEW\ProcessDir
copy \\server1\FTP\FILE03*.txt \\serverNEW\ProcessDir
....

While this currently works for copying the files, we would like to:

1) Change it to copy ALL files (EXCLUDING subfolders) in the FTP folder to
the new server;
-- Should we be using "copy" or "xcopy"?
-- Since there will be more than one day's worth of files in the FTP
folder, is there a way to keep from copying files time after time?

2) After the copy, we want to clear off (delete) files from the FTP folder
after they are older than 4 days (based on their modified date); and
-- Since multiple processes access this FTP folder, we need to leave
the files on this server until they are 4 days old and then we can remove them

3) Be able to automate it through some kind of scheduler.

One of my peers suggested that we might need to try VBScript to do this,
does anyone have any ideas/suggestions? Unfortunately they do not know
VBScript and I am the closest thing to VB programmer that we have, so I am
trying to see how we might be able to accomplish this simply and quickly.

Thanks in advance for your insight and assistance.
 
J

John Smith

I'd suggest robocopy, a free program from M$. Its help file is attached.
Search Google to find out where to download it.

To delete files by date, search alt.msdos.batch.nt archive. This topic
has been beaten to death.

To schedule the batch file, use the Scheduled Tasks in the control panel.


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

Started : Tue Aug 26 22:43:06 2008

Usage :: ROBOCOPY source destination [file [file]...]
[options]

source :: Source Directory (drive:\path or
\\server\share\path).
destination :: Destination Dir (drive:\path or
\\server\share\path).
file :: File(s) to copy (names/wildcards: default is
"*.*").

::
:: Copy options :
::
/S :: copy Subdirectories, but not empty ones.
/E :: copy subdirectories, including Empty ones.
/LEV:n :: only copy the top n LEVels of the source
directory tree.

/Z :: copy files in restartable mode.
/B :: copy files in Backup mode.
/ZB :: use restartable mode; if access denied use
Backup mode.

/COPY:copyflag :: what to COPY (default is /COPY:DAT).
(copyflags : D=Data, A=Attributes, T=Timestamps).
(S=Security=NTFS ACLs, O=Owner info, U=aUditing
info).

/SEC :: copy files with SECurity (equivalent to /COPY:DATS).
/COPYALL :: COPY ALL file info (equivalent to /COPY:DATSOU).
/NOCOPY :: COPY NO file info (useful with /PURGE).

/PURGE :: delete dest files/dirs that no longer exist in
source.
/MIR :: MIRror a directory tree (equivalent to /E plus
/PURGE).

/MOV :: MOVe files (delete from source after copying).
/MOVE :: MOVE files AND dirs (delete from source after
copying).

/A+:[RASHNT] :: add the given Attributes to copied files.
/A-:[RASHNT] :: remove the given Attributes from copied files.

/CREATE :: CREATE directory tree and zero-length files only.
/FAT :: create destination files using 8.3 FAT file
names only.
/FFT :: assume FAT File Times (2-second granularity).
/256 :: turn off very long path (> 256 characters) support.

/MON:n :: MONitor source; run again when more than n
changes seen.
/MOT:m :: MOnitor source; run again in m minutes Time, if
changed.

/RH:hhmm-hhmm :: Run Hours - times when new copies may be started.
/PF :: check run hours on a Per File (not per pass) basis.

/IPG:n :: Inter-Packet Gap (ms), to free bandwidth on slow
lines.

::
:: File Selection Options :
::
/A :: copy only files with the Archive attribute set.
/M :: copy only files with the Archive attribute and
reset it.
/IA:[RASHCNETO] :: Include only files with any of the given
Attributes set.
/XA:[RASHCNETO] :: eXclude files with any of the given Attributes set.

/XF file [file]... :: eXclude Files matching given names/paths/wildcards.
/XD dirs [dirs]... :: eXclude Directories matching given names/paths.

/XC :: eXclude Changed files.
/XN :: eXclude Newer files.
/XO :: eXclude Older files.
/XX :: eXclude eXtra files and directories.
/XL :: eXclude Lonely files and directories.
/IS :: Include Same files.
/IT :: Include Tweaked files.

/MAX:n :: MAXimum file size - exclude files bigger than n
bytes.
/MIN:n :: MINimum file size - exclude files smaller than n
bytes.

/MAXAGE:n :: MAXimum file AGE - exclude files older than n
days/date.
/MINAGE:n :: MINimum file AGE - exclude files newer than n
days/date.
/MAXLAD:n :: MAXimum Last Access Date - exclude files unused
since n.
/MINLAD:n :: MINimum Last Access Date - exclude files used
since n.
(If n < 1900 then n = n days, else n = YYYYMMDD
date).

/XJ :: eXclude Junction points. (normally included by
default).

::
:: Retry Options :
::
/R:n :: number of Retries on failed copies: default 1
million.
/W:n :: Wait time between retries: default is 30 seconds.

/REG :: Save /R:n and /W:n in the Registry as default
settings.

/TBD :: wait for sharenames To Be Defined (retry error 67).

::
:: Logging Options :
::
/L :: List only - don't copy, timestamp or delete any
files.
/X :: report all eXtra files, not just those selected.
/V :: produce Verbose output, showing skipped files.
/TS :: include source file Time Stamps in the output.
/FP :: include Full Pathname of files in the output.

/NS :: No Size - don't log file sizes.
/NC :: No Class - don't log file classes.
/NFL :: No File List - don't log file names.
/NDL :: No Directory List - don't log directory names.

/NP :: No Progress - don't display % copied.
/ETA :: show Estimated Time of Arrival of copied files.

/LOG:file :: output status to LOG file (overwrite existing log).
/LOG+:file :: output status to LOG file (append to existing log).

/TEE :: output to console window, as well as the log file.

/NJH :: No Job Header.
/NJS :: No Job Summary.

::
:: Job Options :
::
/JOB:jobname :: take parameters from the named JOB file.
/SAVE:jobname :: SAVE parameters to the named job file
/QUIT :: QUIT after processing command line (to view
parameters).
/NOSD :: NO Source Directory is specified.
/NODD :: NO Destination Directory is specified.
/IF :: Include the following Files.


MJ æ到:
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top