Home

Mikhail Tchervonenko Михаил Червоненко

CopyMik - freeware program for a complex copy, rename (inclusive transliteration), encrypt, decrypt, compress, decompress, backup, restore files and folders, сopying from the shadow volumes.


Unlike robocopy and xcopy program CopyMik has a rename, compression and encryption,
allows the use of several masks at the same time for each key.
The keys are separated for files and folders.
Eliminates the use of scripts to copy. For example: copy the structure of folders and folders
under suitable mask with the content.
CopyMik is useful for creating backup copies of files mirroring repeat folder structure.
allows you to exclude from the backup or rename in the case of the existence of files and folders.
Supports copy acsess rights to files and folders separately. When copying files perhaps their encryption or decryption, compress or decompress, optionally encrypted/compressed files can be renamed in the forward and reverse directions.
Available 12 different encryption algorithms that enables consistent encryption of several different algorithms (compulsive encryption), and this in turn greatly hinders breaking and decryption.

Contains many other useful features.


CopyMik 2.16 Beta Build 16 (Freeware)
for Windows
rusmikleАТgmail.com Mikhail Tchervonenko 2016

Date of updating: - 19.05.2016 (Germany)

Download zip file   |  Mirror (Rus) - Softodrom.ru

md5: copymik.exe - 7AEE5AFB6732EA8F7181BDADAD21ACC8
copymik_v2_16_16_beta.zip - 755FADCD8F495BA81DE493F1B93F5294

Program for get md5 of file hier

Versions history

Nightly Build

Important: The author is not liable for any consequences of the program CopyMik.
CopyMik program is in testing phase and may contain errors!
By launching this program CopyMik you fully accept the responsibility for her work CopyMik on yourself.

For the correct display of all characters of national alphabets are applied in the names of files and folders made CopyMik console output encoding utf8, respectively. for proper display of texts with national symbols must use the appropriate font in the console or change the output encoding - key / CP



Help information for CopyMik




copymik.exe SourceDir TargetDir [Keys]

SourceDir and TargetDir - can contain predefined variables: {DATE} - current date, {DATETIME} - the current date and time (format variable {DATETIME} you can change with this key /DTF), {YEAR} - year number, {MONTHNAME} - name of the month, {DAYNAME} - weekday name, {MONTHOFYEAR} - month number of the year, {WEEKOFYEAR} - week number of the year, {WEEK OF MONTH} - week number of the month, {DAYOFYEAR} - day number of the year, {DAYOFMONTH} - day number of the month, {DAYOFWEEK} - day number of the week, {HOUR} - hour, {MIN} - minutes, {SEC} - seconds, {MSEC} - millisecond

Keys:
[/KF KeyFile1[ KeyFile2[ ....]]] Text Files with keys in the UTF8 encoding. Each key begins a new line. If there are duplicate keys of the key works of the last file. If there are duplicate keys of the key works of the last file. The keys of the files have a higher priority than the keys from the command line. If the string does not begin with symbol "/" it is assumed that this is the path to the source or target folder (the folder is always the order of 1st row => source, 2nd row => target folder). Comments may be used in the key file. The comment starts with //. The text in the line located after the comment character is ignored by the program.
[/MF[ FileMask1[ FileMask2[ ....]]]] Mask for copied files (default *)
[/MD[ DirMask1[ DirMask2[ ....]]]] Mask for copied folders (default *)
[/XCD [DirMask1[ DirMask2[ ....]]]] Do not copy folders with the specified mask (default mask *)
[/XCF [FileMask1[ FileMask2[ ....]]]] Do not copy files with the specified mask (default mask *)
[/XDMD DirMask1[ DirMask2[ ....]]] Do not check the mask folder (/MD) in a folder with the specified mask (will use a mask *)
[/XDMF DirMask1[ DirMask2[ ....]]] Do not check the mask file in the folder with the specified mask (will use a mask *)
[/XSD] Exclude the folders that are not copied when you copy/reset security attributes
[/XSF] Exclude the files that are not copied when you copy/reset security attributes
[/SEXF[ FileMask1[ FileMask2[ ....]]]] Skip files if they already exist. Check only files with the specified mask. (default mask *)
[/RF[ FileMask1[ FileMask2[ ....]]]] Rename the file if it already exists (ignored by /OF key). Rename only files with the specified mask (default mask *).
[/OF[ FileMask1[ FileMask2[ ....]]]] Overwrite existing files. Overwrite only files with the specified mask (default mask *).
[/SOLDF[ MaskeFile1[ MaskeFile2[ ....]]]] Do not overwrite files with a later modification date (overwrite only old files). Check only files with the specified mask. (default mask *). It used only in conjunction with the key /OF
[/SNEWF[ FileMask1[ FileMask2[ ....]]]] Just copy the files to the new date of the change. Check only files with the specified mask. (default mask *). It used only in conjunction with the key /OF
[/SDTSF[ FileMask1[ FileMask2[ ....]]]] Skip the files with the same modification date and size. Check only files with the specified mask. By encryption and decryption is not checked and always overwritten. (default mask *). It used only in conjunction with the key /OF
[/DELF [MaskeFile1 [MaskeFile2 [....]]]] After a successful backup/compression/encryption to delete files in the source folder specified by the mask. (default mask * - All)
[/DELFD [MaskeDir1 [MaskeDir2 [....]]]] Limits the action key /DELF to source folders with specified masks. (default mask * - All)
IMPORTANT!!! keys /DELF and /DELFD work only for successfully copied/compressed/rename the file and do not work in combination with the keys /DNSF or /MIR
[/MD5[ FileMask1[ FileMask2[ ....]]]] Copy only files with checksum mismatch. Check only files with the specified mask. By encryption and decryption is not checked and always overwritten. (default mask *). It used only in conjunction with the key /OF. Watch Out !!! Checksum slows down the copy operation. In most cases, use the key /SDTSF in combination with a key /OF
[/SZF NSizeBytes] Copy/compress/encrypt only files larger than or equal to NSizeBytes bytes
[/SZT NSizeBytes] Copy/compress/encrypt only files of less than or equal NSizeBytes bytes
[/TM [Nsec]] Copy/compress/encrypt files only with the date and time of change within the last Nsec seconds (counting from the current time). Default Nsec = 3600 (one hour)
[/DT[ Ndays]] Copy/Compress/Encrypt only files with the date of last change within the last Ndays days (counting from the current date, time is discarded and does not count). By default Ndays=0 day (today)
[/DTS DD.MM.YYYY] Copy/Compress/Encrypt files only with the date of change greater than or equal DD.MM.YYYY date (eg. 01.09.2015) (where DD - day of the month, MM - month, YYYY - year. It is important - leading zeros are required!
[/DTE DD.MM.YYYY] Copy/Compress/Encrypt files only with the date change less than or equal DD.MM.YYYY date (eg. 01.09.2015) (where DD - day of the month, MM - month, YYYY - year. It is important - leading zeros are required!
[/DNSF[ FileMask1[ FileMask2[ ....]]]] Delete files if there is no source files. Delete only files with the specified mask. (default mask *)
[/DNSD[ DirMask1[ DirMask2[ ....]]]] Delete folders if there is no source folders. Delete only folders with the specified mask. (default mask *)
[/MIR] [ FileMask1[ FileMask2[ ....]]]] equivalent combination of keys: /MF [ FileMask1[ FileMask2[ ....]]]] /MD /CSF /OF [ FileMask1[ FileMask2[ ....]]]] /DNSF [ FileMask1[ FileMask2[ ....]]]] /DNSD (default mask *)
IMPORTANT!!! Renaming files can automatically disable the mirroring function (/MIR and the like). The exceptions are the keys to add or remove file extensions in compression, decompression, compression and decompression /COADD /DECODEL /CRADD /DECRDEL.
[/NCD] Do not create a folder tree (all files copied to TargetDir folder)
[/RFA[ FileMask1[ FileMask2[ ....]]]] Reset file attributes (set Archive). Only files with the specified mask. (default mask *)
[/RDA[ DirMask1[ DirMask2[ ....]]]] Reset folder attributes. Only folders with the specified mask. (default mask *)
[/CSF[ FileMask1[ FileMask2[ ....]]]] Copy file security attributes. Only files with the specified mask. (default mask *)
[/CSD[ DirMask1[ DirMask2[ ....]]]] Copy folder security attributes. Only folders with the specified mask. (default mask *)
[/CTF[ MaskeFile1 [MaskeFile2 [....]]]] Copy the last record date of creation, last access and change files. Only files matching the mask. (Default mask * - All)
[/CTD[ MaskeDir1[ MaskeDir2[ ....]]]] Copy the last record date of creation, last access and change folders. Only folders matching the mask. (Default mask * - All)

------------------------------------------- File rename functions ------------------------------------------

[/NOF[ MaskeFile1[ MaskeFile2[ ....]]]] Normalize (transliterated) filenames. Only files matching the mask. (default mask * - All)
[/NOD[ MaskeDir1[ MaskeDir2[ ....]]]] Normalize (transliterated) folder names. Only folders matching the mask. (default mask * - All)
[/LANG language] Priority language transliteration. (default RU) Possible values: RU-Russian, JBR-Hebrew, HY-Armenian, UK-Ukrainian, BE-Belarusian, EL-Greek, KA-Georgian, LT-Lithuanian, TG-Tajik, KK-Kazakh, DE- German, SP-Spanish, FR-French, IT-Italian
[/STRF SeekingLine1 = NewLine1 [SeekingLine2=NewLine2 [....]]] Replace strings in file names (instead of spaces to write {SP}). Default replacement are case sensitive (see key / ICF) in key / STRF can use predefined variables {DATE} - current date, {DATETIME} - the current date and time, {YEAR} - year number, {MONTHNAME} - name of the month, {DAYNAME} - weekday name, {MONTHOFYEAR} - month number of the year, {WEEKOFYEAR} - week number of the year, {WEEK OF MONTH} - week number of the month, {DAYOFYEAR} - day number of the year, {DAYOFMONTH} - day number of the month, {DAYOFWEEK} - day number of the week, {HOUR} - hour, {MIN} - minutes, {SEC} - seconds, {MSEC} - millisecond, {CRDATETIME} - date and time the file was created, {LADATETIME} - date and time of last access, {LWDATETIME} - date and time of last modification, {FSIZE} - file size, {FDOS} - dos filename, {FMD5} - file hash md5 (checksum, be careful! It slows down the process of copying), {NUMBER} - serial number of the file in the folder, {FNUMBER} serial number of the file when copying, {DNUMBER} - serial number of folders for copying, {FNAMEEXT} - file name and extension, {FNAME} - the name of the file, {FEXT} - file extension, {QUOTE} - double quote, {EQUAL} - symbol =
'[/ICF] replace switches in the key / STRF on case insensitive
[/STRD SeekingLine1 = NewLine1 [SeekingLine2=NewLine2 [....]]] Replace the line in folder names (instead of spaces to write {SP}) Default replacement are case sensitive (see key / ICD in the key / STRD can use predefined variables {DATE} - current date, {DATETIME} - the current date and time, {YEAR} - year number, {MONTHNAME} - name of the month, {DAYNAME} - weekday name, {MONTHOFYEAR} - month number of the year, {WEEKOFYEAR} - week number of the year, {WEEK OF MONTH} - week number of the month, {DAYOFYEAR} - day number of the year, {DAYOFMONTH} - day number of the month, {DAYOFWEEK} - day number of the week, {HOUR} - hour, {MIN} - minutes, {SEC} - seconds, {MSEC} - millisecond, {DNUMBER} - serial number of folders for copying, {DNAME} - folder name, {QUOTE} - double quote, {EQUAL} - symbol =
[/ICD] replace switches in the key / STRD on case insensitive
[/DTF [Mask date]] mask the date and time to output (used in variables {DATETIME} {CRDATETIME} {LADATETIME} {LWDATETIME}). (default mask yyyymmddhhnnss)
Date mask can contain the following control characters:
y = Year of the last 2 digits, yy = year from the last 2 digits, yyyy = year 4-digit, m = number of the month without 0, mm = month number as 2 digits, mmm = Month using ShortDayNames (Jan), mmmm = month using LongDayNames (January), d = number without 0, dd = 2 as the number of digits, ddd = number using ShortDayNames (Sun), dddd = number using LongDayNames (Sunday), ddddd = number in ShortDateFormat, dddddd = number in LongDateFormat, c = Using ShortDateFormat + LongTimeFormat, h = hour without 0, hh = hour as a 2 digit, n = minutes without 0, nn = minutes as 2 digits, s = seconds without 0, ss = Seconds as 2 numbers, z = Milliseconds without 0, zzz = Milliseconds as 2 digits, t = Using ShortTimeFormat, tt = Using LongTimeFormat and any other permissible in file names and folder symbols.
IMPORTANT!!! By default, rename disables the mirroring function (/MIR and the like). The exceptions are the keys to add or remove file extensions in compression, decompression, compression and decompression /COADD /DECODEL /CRADD /DECRDEL. Using key /ALWAYS be returned mirroring functionality. If you use the /ALWAYS keep in mind that all of the renamed files are deleted in the target folder if they are not present in the original folder. In fact, in the target folder will remain not only the renamed files

------------------------------------------- File encrypt functions ------------------------------------------

[/CR[ MaskeFile1[ MaskeFile2[ ....]]]] Encrypt files with these masks (Within the limits of keys /MF,/MD,/XCD,/XCF,/XDMD,/XDMF). (default mask *)
[/CREX MaskeFile1[ MaskeFile2[ ....]]] Not encrypt files with these masks. (Within the constraints of the key /CR)');
[/CRM Algorithm] Change encryption algorithm. (default DES *). Possible values: DES, BLOWFISH, CAST128, 3DES, ICE, THINICE, ICE2, RC2, RC4, RIJNDAEL, SERPENT, TEA, TWOFISH
[/CRADD[ Text]] When you encrypt a file name to add text (default .cmcrypt)
[/CRPASS Password] Password for encryption

------------------------------------------- File decrypt functions ------------------------------------------

[/DECR[ MaskeFile1[ MaskeFile2[ ....]]]] Decrypt files with this mask. (Within the limits of keys /MF,/MD,/XCD,/XCF,/XDMD,/XDMF) (default mask *)
[/DECREX MaskeFile1[ MaskeFile2[ ....]]] Not decrypt files with this mask. (Within the constraints of the key /DECR)
[/DECRM Algorithm] Change decryption algorithm. (default DES *). Possible values: DES, BLOWFISH, CAST128, 3DES, ICE, THINICE, ICE2, RC2, RC4, RIJNDAEL, SERPENT, TEA, TWOFISH
[/DECRDEL[ Текст]] By decryption remove from file name text (default .cmcrypt)
[/DECRPASS Password] Password for decryption
IMPORTANT!!! for encryption, CopyMik not introducing an encrypted file password and a sign of the encryption algorithm. If you incorrectly type your password, or choose different from that used in the encryption algorithm decryption error message will not be shown. Decoding pass through, it is clear that in this case the data will not correspond to those that have been encrypted. Storing the password and the encryption algorithm is entirely the responsibility of the user.

------------------------------------------- File compress functions ------------------------------------------

[/CO[ MaskeFile1[ MaskeFile2[ ....]]]] Compress files with these masks (Within the limits of keys /MF,/MD,/XCD,/XCF,/XDMD,/XDMF). (default mask *). Not compatible mit /DECO and /DECR Keys for matching file mascs.
[/COEX MaskeFile1[ MaskeFile2[ ....]]] Not compress files with these masks. (Within the constraints of the key /CO)
[/COADD[ Text]] When you compress a file name to add text (default .cmcomp)

------------------------------------------- File decompress functions ------------------------------------------

[/DECO[ MaskeFile1[ MaskeFile2[ ....]]]] Deccompress files with this mask. (Within the limits of keys /MF,/MD,/XCD,/XCF,/XDMD,/XDMF) (default mask *). Not compatible mit /CO and /CR Keys for matching file mascs.
[/DECOEX MaskeFile1[ MaskeFile2[ ....]]] Not deccompress files with this mask. (Within the constraints of the key /DECO)
[/DECODEL[ Text]] By decompress remove from file name text (default .cmcomp).

------------------------------------------- Backup and restore functions ------------------------------------------

[/B Password] Backup mit compress und encrypt (equivalent combination of keys: /CO /CR /COADD /CRADD /OF)
[/R Password] Restore mit decrypt und decompress (equivalent combination of keys: /DECO /DECR /DECODEL /DECRDEL /OF)

------------------------------------------- Display and Log ------------------------------------------

[/ERR] Show only errors
[/NSKIP] Do not show information about missing files
[/NSTAT] Do not show statistics
[/ND] Do not display log
[/PRIORITY [name Priority]] Change the priority of the program. Name of priority can be set to SUPER_LOW (or LOW-), LOW, BELOW_NORMAL (or NORMAL-), NORMAL, ABOVE_NORMAL (or NORMAL+), HIGEST (or MAX). Default - NORMAL. Permitted a shortened form of the key [/PR [name Priority]]
[/CP CodePage] Code page number for the console output (default 65001 - UTF8). Possible values: 0 - ANSI, 1 - OEM, 2 - MAC, 3 - threads ANSI, 866 - OEM RUS, 65000 - UTF7, 65001 - UTF8 etc -1 (Minus) turns off the coding changes. Console font should allow display of this encoding!
[/LOG[ PathAndLogFile]] entry in the log file (UTF8 incl. Byte Order Mark - BOM) (the default CopyMik_{DATETIME}.log in the current folder). If the file already exists it will be overwritten. Record within the constraints of keys /ERR, /NSKIP and /NSTAT. In file name and path you can use predefined variables: {SP} - space character, {DATE} - date of the backup, {DATETIME} - date and time of the backup (see key /DTF), {YEAR} - year number, {MONTHNAME} - name of the month, {DAYNAME} - weekday name, {MONTHOFYEAR} - month number of the year, {WEEKOFYEAR} - week number of the year, {WEEK OF MONTH} - week number of the month, {DAYOFYEAR} - day number of the year, {DAYOFMONTH} - day number of the month, {DAYOFWEEK} - day number of the week, {HOUR} - hour, {MIN} - minutes, {SEC} - seconds, {MSEC} - millisecond, {QUOTE} - double quote, {EQUAL} - sign =
[/ADDLOG] to write the end of the log file if it already exists
[/LCSV [splitter]] to write the log file format delimited (as CSV). The default separator character - ; (you can use the variables {SP} - space character and {TAB} - tab). Columns: 1th - Status, 2th - Communication, 3th - Source file and/or folder, 4th - Trust file and/or folder
[/DCSV [splitter]] Displays the log on the screen in a delimited file format (such as CSV). The default separator character - ; (you can use the variables {SP} - space character and {TAB} - tab). Columns: 1th - Status, 2th - Communication, 3th - Source file and/or folder, 4th - Trust file and/or folder
/NOLOGTIME - do not display completion date and time of the current operation on the screen and in the log (for compatibility with old log)

------------------------------------------- Running programs, handling errors, verification, other -----------------------------------------

[/VF[ MaskeFile1[ MaskeFile2[ ....]]]] Files after copy verification (by file mask). Not compatible with compression and encryption (ignored). IMPORTANT!!! Very slowly! In limit the scope of key /VD (if specified). (default mask *)
[/VD[ MaskeDir1[ MaskeDir2[ ....]]]] Files after copy verification (by folder mask). Not compatible with compression and encryption (ignored). IMPORTANT!!! Very slowly! In limit the scope of key /VF (if specified). (default mask *)
[/NVF MaskeFile1[ MaskeFile2[ ....]]] Do not verify files with these masks. Works within the keys /VF and/or /VD
[/NVD MaskeDir1[ MaskeDir2[ ....]]] Do not verify the folder with these masks. Works within the keys /VF and/or /VD
[/MVS NSizeInByte] Maximum file size for verification in bytes (default: -1 unlimited). Works within the keys /VF and/or /VD
[/NHP] Disable paged help (without pause). Automatically includes key /HELP
[/PAUSE] Pause after completion of the program
[/PAUSEBYERROR] Pause after completing the program only if an error occurred
[/SE] Stop at the first error

[/SETEXITCODE] The use of the number of copied files (from 0 to N) and if the number of errors encountered an error with a minus sign (from -1 to -N) as the return code of the program. (Eg. For use in batch files).


[/EXEC command] For each successfully copied file to execute a program or batch file. You can use variables: {SRCFILE} - the source file, {DSTFILE} - destination file, {SRCDIR} - the source folder, {DSTDIR} - the destination folder, {SRC} - the original file and the path to it, {DST} - file and the destination folder, {DATE} - current date, {DATETIME} - the current date and time, {YEAR} - year number, {MONTHNAME} - name of the month, {DAYNAME} - weekday name, {MONTHOFYEAR} - month number of the year, {WEEKOFYEAR} - week number of the year, {WEEK OF MONTH} - week number of the month, {DAYOFYEAR} - day number of the year, {DAYOFMONTH} - day number of the month, {DAYOFWEEK} - day number of the week, {HOUR} - hour, {MIN} - minutes, {SEC} - seconds, {MSEC} - millisecond, {NUMBER} - serial number of the file in the folder, {QUOTE} - double quote, {FNUMBER} serial number of the file when copying, {NUMBER} - serial number of folders for copying, {SP} - space character (space characters, please replace with {SP}, date format specifies key /DTF)
[/EXECPARAM Options] Command-line options for program or batch file in /EXEC. You can use variables: {SRCFILE} - the source file, {DSTFILE} - destination file, {SRCDIR} - the source folder, {DSTDIR} - the destination folder, {SRC} - the original file and the path to it, {DST} - file and the destination folder, {DATE} - current date, {DATETIME} - the current date and time, {YEAR} - year number, {MONTHNAME} - name of the month, {DAYNAME} - weekday name, {MONTHOFYEAR} - month number of the year, {WEEKOFYEAR} - week number of the year, {WEEK OF MONTH} - week number of the month, {DAYOFYEAR} - day number of the year, {DAYOFMONTH} - day number of the month, {DAYOFWEEK} - day number of the week, {HOUR} - hour, {MIN} - minutes, {SEC} - seconds, {MSEC} - millisecond, {NUMBER} - serial number of the file in the folder, {QUOTE} - double quote, {FNUMBER} serial number of the file when copying, {NUMBER} - serial number of folders for copying, {SP} - space character (space characters, please replace with {SP}, date format specifies key /DTF)

[/ENDEXEC command] If the copying process did not have any errors then run a program or batch file. You can use variables: {SRCDIR} - the source folder, {DSTDIR} - destination folder, {LOG} - log file and the path to it, {LOGFILE} - log file, {LOGPATH} - path to the log file, {DATE} - current date, {DATETIME} - the current date and time, {YEAR} - year number, {MONTHNAME} - name of the month, {DAYNAME} - weekday name, {MONTHOFYEAR} - month number of the year, {WEEKOFYEAR} - week number of the year, {WEEK OF MONTH} - week number of the month, {DAYOFYEAR} - day number of the year, {DAYOFMONTH} - day number of the month, {DAYOFWEEK} - day number of the week, {HOUR} - hour, {MIN} - minutes, {SEC} - seconds, {MSEC} - millisecond, {QUOTE} - double quote, {FNUMBER} The number of files copied, {NUMBER} - number of passed folders, {SP} - space character (space characters, please replace with {SP}, format {DATETIME} specifies key /DTF)
[/ENDEXECPARAM options]] Parameters for launching in /ENDEXEC program or batch file. You can use variables: {SRCDIR} - the source folder, {DSTDIR} - destination folder, {LOG} - log file and the path to it, {LOGFILE} - log file, {LOGPATH} - path to the log file, {DATE} - current date, {DATETIME} - the current date and time, {YEAR} - year number, {MONTHNAME} - name of the month, {DAYNAME} - weekday name, {MONTHOFYEAR} - month number of the year, {WEEKOFYEAR} - week number of the year, {WEEK OF MONTH} - week number of the month, {DAYOFYEAR} - day number of the year, {DAYOFMONTH} - day number of the month, {DAYOFWEEK} - day number of the week, {HOUR} - hour, {MIN} - minutes, {SEC} - seconds, {MSEC} - millisecond, {QUOTE} - double quote, {FNUMBER} The number of files copied, {NUMBER} - number of passed folders, {SP} - space character (space characters, please replace with {SP}, format {DATETIME} specifies key /DTF)

[/ENDERREXEC command] If the copying process there is at least one error is to run a program or batch file. You can use variables: {SRCDIR} - the source folder, {DSTDIR} - destination folder, {LOG} - log file and the path to it, {LOGFILE} - log file, {LOGPATH} - path to the log file, {DATE} - current date, {DATETIME} - the current date and time, {YEAR} - year number, {MONTHNAME} - name of the month, {DAYNAME} - weekday name, {MONTHOFYEAR} - month number of the year, {WEEKOFYEAR} - week number of the year, {WEEK OF MONTH} - week number of the month, {DAYOFYEAR} - day number of the year, {DAYOFMONTH} - day number of the month, {DAYOFWEEK} - day number of the week, {HOUR} - hour, {MIN} - minutes, {SEC} - seconds, {MSEC} - millisecond, {QUOTE} - double quote, {FNUMBER} The number of files copied, {NUMBER} - number of passed folders, {SP} - space character (space characters, please replace with {SP}, format {DATETIME} specifies key /DTF), {ERRORS} - errors
[/ENDERREXECPARAM options]] Parameters for launching in /ENDERREXEC program or batch file. You can use variables: {SRCDIR} - the source folder, {DSTDIR} - destination folder, {LOG} - log file and the path to it, {LOGFILE} - log file, {LOGPATH} - path to the log file, {DATE} - current date, {DATETIME} - the current date and time, {YEAR} - year number, {MONTHNAME} - name of the month, {DAYNAME} - weekday name, {MONTHOFYEAR} - month number of the year, {WEEKOFYEAR} - week number of the year, {WEEK OF MONTH} - week number of the month, {DAYOFYEAR} - day number of the year, {DAYOFMONTH} - day number of the month, {DAYOFWEEK} - day number of the week, {HOUR} - hour, {MIN} - minutes, {SEC} - seconds, {MSEC} - millisecond, {QUOTE} - double quote, {FNUMBER} The number of files copied, {NUMBER} - number of passed folders, {SP} - space character (space characters, please replace with {SP}, format {DATETIME} specifies key /DTF), {ERRORS} - errors

IMPORTANT!!! the result of key /ENDEXEC and /ENDERREXEC not recorded in the log file (see key /LOG), concluded only on the display. At the time of implementation of these keys log file is closed and is accessible for manipulation.


Examples of use CopyMik


Example 1:
copymik.exe c:\Documents d:\DocArchiv /MIR
Explanation:
Make a mirror copy of the Documents folder in the folder DocArchiv.


Example 2:
copymik.exe c:\Documents d:\DocArchiv /MD buch* progr* important* /MF *.txt *.cpp *.jpg *.bmp /XCD .svn tmp* /XCF *.tmp *.db /OF
Explanation:
Copy all files with masks *.txt *.cpp *.jpg *.bmp from folders with masks buch* progr* important*
Do not copy folders with masks .svn tmp*.
Do not copy files with the masks *.tmp *.db Overwrite existing files


Example 3:
copymik.exe c:\Documents d:\DocArchiv /MD buch* progr* important* /MF *.txt *.cpp *.jpg *.bmp /XDMD important* /XDMF important* /OF
Explanation:
Copy all files with masks *.txt *.cpp *.jpg *.bmp from folders with masks buch* progr* important*
Folders with mask important* copy completely.
Overwrite existing files


Example 4:
copymik.exe c:\Documents d:\DocArchiv
Explanation:
Copy all files with masks * from folders with masks c:\Documents in d:\DocArchiv
Skip existing files (For Overwrite use key /OF)


Example 5:
copymik D:\Documents\ c:\EncryptByckup /MF *.txt *.doc *.rtf *.bin /CR /CRADD /CREX *.bin /CRPASS tralala /OF
Explanation:
Copy all files with masks *.txt *.doc *.rtf *.bin from folder Documents in folder EncryptByckup. All files with mask *.txt *.doc *.rtf by copy encrypt und rename (add ".cmcrypt" text). Files with mask *.bin only copy and not encrypt.If the files in the destination folder already exists, they are overwritten. Password for encryption "tralala", default algorithm DES.


Example 6:
copymik D:\Documents c:\EncryptByckup /MIR /CR /CRADD /CRPASS tralala
Explanation:
Mirror the folder Documents in folder EncryptByckup. All files encrypt und rename (add text ".cmcrypt"). Password for encryption "tralala", default algorithm DES. If the files in the sourse folder not exists und in target folder exist, they are deleted.


Example 7:
copymik D:\EncryptByckup c:\Documents /MIR /DECR /DECRDEL /DECRPASS tralala
Explanation:
Mirror the folder EncryptByckup in folder Documents. All files decrypt und rename (remove text ".cmcrypt"). Password for decryption "tralala", default algorithm DES. If the files in the source folder not exists und in target folder exist, they are deleted.


Example 8:
copymik D:\EncryptByckup c:\Documents /B mypass
Explanation:
Backup the folder EncryptByckup in folder Documents. All files compress and encrypt und rename (add text ".cmcomp.cmcrypt"). Password for encryption "mypass".


Example 9:
copymik D:\EncryptByckup c:\Documents /B mypass /DT 1
Explanation:
In contrast to Example 8 to compress and encrypt files only with the date change yesterday and today (minus 1 day). Encryption password "mypass".


Example 10:
copymik c:\Documents D:\EncryptByckup /R mypass
Explanation:
Restores (decrypts, decompresses and copies) files from the Documents folder to a folder EncryptByckup. The password for decryption "mypass".


Example 11:
copymik c:\Documents d:\Documents /NOF /NOD
Explanation:
Copy the files from c:\Documents folder to the d:\Documents. When copying to transliterate the names of files and folders.


Example 12:
copymik c:\Documents d:\Documents /STRD text{SP}22=folder{SP}55 /STRF {FEXT}=.abr
Explanation:
Copy the files from c:\Documents folder to the d:\Documents. When copying replace text in the names of folders "text 22" on "folder 55" and in the file name extension to ".abr".


Example 13:
copymik c:\Documents d:\Documents /MF *.doc /OF /CO /CR /CRPASS mypass /EXEC sendmail.bat /EXECPARAM {QUOTE}{DST}{QUOTE}
Explanation:
Сompresses, encrypts and copies files with extension doc (if the file exists then overwrites) from folder c:\Documents folder in the d:\Documents. Upon successful copying starts sendmail.bat passing it as a parameter to the path and name of the destination file enclosing them in quotation marks.


Example 14:
copymik c:\Documents d:\Archiv /MF *.doc /OF /LOG c:\Logs\BackupDoc\DocCopyLog_{DATETIME}.csv /LCSV {TAB} /ND /ENDERREXEC SendLogPerEmailToAdmin.bat /ENDERREXECPARAM {LOG} /ENDEXEC CopyToArchiv.bat /ENDEXECPARAM {LOG}
Explanation:
Сopies files with the doc (if the file exists then overwrites) from folder c:\Documents folder to d:\Archiv. The process is documented in a log file in the CSV format with dividers - tab. Name the log file - DocCopyLog_DateAndTimeOfCopy.csv. Displays information on the screen is turned off. If an error occurs in a batch file SendLogPerEmailToAdmin.bat is passed to the log file (eg to send the log admin by e-mail). If no error occurred in the command file CopyToArchiv.bat is passed to the log file (for example, to move to the archive)


Example 15:
copymik c:\Documents d:\Archiv /DELF *.tmp /DELFD *LOG*
Explanation:
Copy all files from the folder c:\Documents folder to d:\Archiv. And files with mask *.tmp in the folder with a mask *LOG* moves.


Example 16:
copymik c:\Documents d:\Archiv /MF *.doc /OF /SDTSF
Explanation:
Copies all doc files from folder c:\Documents folder to d:\Archiv. Overwritten only differ in size or date of the files.


Example 17:
copymik.exe c:\source d:\dist /PRIORITY LOW-
Explanation:
Copy files with minimal priority of copymik (background, without loading the system resources)


Example 18:
Automatically send error log (or any other modified file) on administrator E-Mail
Instructions:
1. Create a batch file CheckErrorLog.cmd as follows:
REM Move the error log file (*.elf) to the archive previously renamed (inserting the name of the date and time of move),
REM if the movement had run a batch file EmailByError.bat passing it as a parameter link to a moved file
\\Server\ELF\copymik.exe \\Server\ProgramFolder \\Server\ELF\ALT /MF *.elf /NSKIP /XCD * /OF /SDTSF /DELF *.elf /STRF {FEXT}=.{DATETIME}{FEXT} /EXEC \\Server\ELF\EmailByError.bat /EXECPARAM {QUOTE}{DST}{QUOTE}{SP}{QUOTE}{SRC}{QUOTE}

2. Create a batch file EmailByError.bat, to send log on E-Mail Administrator, as follows (correct E-Mail sender and the receiver, the E-Mail caption, IP of SMTP Server and send log file):
rem Send E-Mail
\\Server\ELF\blat.exe %1 ^
-to administrator@domain.ru,Vasiliy Pupkin ^
-debug -timestamp -log blatSMTPlog.txt ^
-s "Error in program, log file - %1" ^
-i sender@domain.ru ^
-f "sender@domain.ru" ^
-q -server 192.168.1.22

3. Next, create periodically crown that periodically launches CheckErrorLog.cmd to perform. As soon as the error log file will appear in the program folder, it will be sent to Your E-Mail. To send E-Mail author uses freely distributed program blat


Example 19:
copymik C:\backup\20160302103207\ C:\Documents\ /R mypassword /MF contract154.doc.cmcomp.cmcrypt /XCD
Explanation:
Restore from backup a single file - contract154.doc. Do not restore the folder tree.



Example 20:
Using copymik program return code in a batch file:
REM **********************
REM Backup file backup.bat
REM **********************
cls
@echo off
set /P pass="Password: "
if %pass% EQU "" exit /b 1

rem Backup C:\Documents\ in C:\Backup\{DATETIME}\ all files modified today
copymik C:\Documents\ C:\Backup\{DATETIME}\ /LOG c:\backup_{DATETIME}.log /SETEXITCODE /B %pass% /DT

if %ERRORLEVEL% EQU 0 goto :NOTCOPIED
if %ERRORLEVEL% GTR 0 goto :COPIED
if %ERRORLEVEL% LSS 0 goto :ERRCOPY

goto :EOF

:COPIED
REM %ERRORLEVEL% files copied
move c:\backup_*.log c:\Archiv\
goto :EOF

:ERRCOPY
REM %ERRORLEVEL% errors by copy
move c:\backup_*.log c:\Error\
goto :EOF

:NOTCOPIED
REM %ERRORLEVEL% = 0, files not copied
move c:\backup_*.log c:\Temp\
goto :EOF
REM **********************
REM End file backup.bat
REM **********************


Example 21:
copymik c:\Documents c:\backup /REPF 2 3 _{DATETIME}_
Copy files and folders from c: \ Documents in the c: \ backup replacing the file names from the 2nd to the 3rd inclusive character of the current date framed by underscores.


Example 22: Create Shadow Snapshot of volume "C:" and start bat file with link to Shadow Snapshot for copy from
VsToolkit.exe -exec=test.bat c:

In bat file:
copymik.exe %1\SourceFolder d:\DistFolder /CMF ....

More to example 22:
Starting with version 2.14 Copymik compatible with the shadow copies of volumes (VSS).
Shadow Copy (VSS) - Microsoft technology (c) built into the Windows (c) starting c Vista (c) allows to copy, open when copying to edit files. Services VSS do snapshot file system volume (only changed blocks at the moment) and provides access to the snapshot volume shadow on a special link. Further, this link can be used as a normal path to the desired file system that you. Copies of it will not lead now to sharing error. I draw your attention that the technology only works at the level of the file system volume. You can not create a snapshot of what that particular folders, only the entire volume. So think of a link to a shadow copy of a volume name ( for example, C: drive link may look like \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1 ). Get list of active snapshot volumes can command "vssadmin List Shadows". Accordingly, the shadow copy of the folder c:\Documents will look like copymik.exe \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Documents D:\Backup In most cases, it copymik itself determines that copying is carried out from the shadow copy volume and turn on compatibility mode copying. If it does not automatically have the key /CMF including this mode. To initiate the creation of the shadow copy can be a means of most Windows (c) and special tools to run this process in the system. I am using for this purpose a free utility VsToolkit.exe (embedded Archived from copymik). Her friendliness is not only in the fact that it will initiate the process of creating the volume shadow copy but also in that it can pass link to a new shadow copy to other applications (eg. in a bat file), transmission always occurs first parametrnom. For example the following command initiates the creation of the shadow copy volume "C:" and passes a reference to it in the bat file running it to perform "VsToolkit.exe -exec=test.bat c:" The bat file itself is enough to insert a commando type "copymik.exe %1\SourceFolder d:\DistFolder /CMF ...." (key /CMF probably will not need). Please note that the maximum number of shadow copy volumes in the system 64 (manipulating the registry this number can be changed). If this number peaked Meto or under the shadow copies will loop process is ended and the first shadow copy is overwritten. In the operating system settings, you can set the volume for the shadow copies. To increase productivity of creating shadow copies and a copy of which it is desirable to place them on another physical disk. Time shadow copy creation depends on the performance and loading file system and the number of open files to change, (I have a volume of 1 terabyte process takes an average of 30-40 seconds, you have the time may vary).





CopyMik - бесплатная программа для сложного копирования, переименования (включая транслитерацию), сжатия, разжатия, шифрования, дешифрования файлов и папок, копирование из теневых снимков томов.


В отличии от robocopy и xcopy программа CopyMik имеет переименование, сжатие и шифрацию,
позволяет использовать несколько масок в каждом ключе.
Ключи разделены для файлов и папок.
Это позволяет, в большинстве случаев, отказаться от написания скриптов копирования.
CopyMik удобна при создании резервный копий, зеркальном отображении файлов с повторением структуры папок (дирректорий).
Позволяет исключить из копирования или переименовать в случае существования папки и файлы.
Поддерживает копирование прав доступа к файлам и папкам раздельно.
При копировании файлов возможно их шифрование или дешифровка, сжатие и разжатие, опционально шифруемые и сжимаемые файлы можно переименовывать как в прямом так и в обратном направлениях.
Доступно 12 различных алгоритмов шифрования что делает возможным последовательное шифрование несколькими различными алгоритмами (маниакальное шифрование), а это в свою очередь очень сильно затрудняет взлом и дешифровку.

Содержит много других удобных возможностей.


CopyMik 2.16 Beta Сборка 16 (Бесплатная)
для Windows
rusmikleАТgmail.com Михаил Червоненко 2016

Последнее обновление: - 17.05.2016 (Germany)

Загрузить zip файл   |  Зеркало - Softodrom.ru

md5: copymik.exe - 7AEE5AFB6732EA8F7181BDADAD21ACC8
copymik_v2_16_16_beta.zip - 755FADCD8F495BA81DE493F1B93F5294

Программа для получения md5 файла здесь

История версий

Ночная сборка

Важно: Автор не несёт ответственности за последствия использования программы CopyMik.
Программа CopyMik находится в стадии тестирования и может содержать ошибки!
Используя CopyMik Вы полностью перенимаете ответственность за результаты работы CopyMik на себя.

Для правильного отображения всех символов национальных алфавитов применяющихся в именах файлов и папок консольный вывод CopyMik осуществляется в кодировке utf8, соотв. для правильного отображения текстов с национальными символами необходимо использовать подходящий шрифт в консоли или изменить кодировку вывода ключем /CP.



Справочная информация по программе CopyMik




copymik.exe ИсходнаяПапка ЦелеваяПапка [Keys]

ИсходнаяПапка и ЦелеваяПапка - могут содержать предопределённые переменные: {DATE} - текущая дата, {DATETIME} - текущие дата и время (формат переменной {DATETIME} можно изменить ключем /DTF)), {YEAR} - номер года, {MONTHNAME} - название месяца, {DAYNAME} - название дня недели, {MONTHOFYEAR} - номер мясяца вгоду, {WEEKOFYEAR} - номер недели в году, {WEEKOFMONTH} - номер недели в месяце, {DAYOFYEAR} - номер дня года, {DAYOFMONTH} - номер дня в месяце, {DAYOFWEEK} - номер дня в неделе, {HOUR} - часы, {MIN} - минуты, {SEC} - секунды, {MSEC} - миллисекунды

Keys:
[/KF ФайлКлючей1[ ФайлКлючей2[ ....]]] Текстовый/е Файл/ы с ключами в кодировке UTF8. Каждый ключ начинается с новой строки. Если есть повторяющиеся ключи то действует ключ из последнего файла. Ключи из файлов имеют более высокий приоритет чем ключи из коммандной строки. Если строка не начинается с символа "/" то предполагается что это путь к исходной или целевой папке копирования (очередность папок всегда 1я строка => исходная папка, 2я строка => целевая папка). В файле ключей можно использовать комментарии. Комментарий начинается с символов //. Текст в строке, находящееся после символов комментария игнорируется программой.
[/MF[ МаскаФайла1[ МаскаФайла2[ ....]]]] Маска для копирования файлов (по умолчанию маска * - все)
[/MD[ МаскаПапки1[ МаскаПапки2[ ....]]]] Маска для копирования папок (по умолчанию маска * - все)
[/XCD [МаскаПапки1[ МаскаПапки2[ ....]]]] Не копировать папки с указанными масками (по умолчанию маска * - все)
[/XCF [МаскаФайла1[ МаскаФайла2[ ....]]]] Не копировать файлы с указанными масками (по умолчанию маска * - все)
[/XDMD МаскаПапки1[ МаскаПапки2[ ....]]] Не проверять маску папки для подпапок с указанной маской (будет использована маска * - все)
[/XDMF МаскаПапки1[ МаскаПапки2[ ....]]] Не проверять файловую маску для подпапок с указанной маской (будет использована маска * - все)
/XSD Исключить из копирования/сброса атрибутов безопасности папки
/XSF Исключить из копирования/сброса атрибутов безопасности файлы
[/SEXF[ МаскаФайла1[ МаскаФайла2[ ....]]]] Пропустить файлы с указанными масками если они уже существуют (по умолчанию маска * - все)
[/RF[ МаскаФайла1[ МаскаФайла2[ ....]]]] Переименовывать файл если он уже существует. (игнорируется при ключе /OF). Переименовыааются только файлы подходящие под маски. (по умолчанию маска * - все)
[/OF[ МаскаФайла1[ МаскаФайла2[ ....]]]] Перезаписывать только файлы с указанными масками. (по умолчанию маска * - все)
[/SOLDF[ МаскаФайла1[ МаскаФайла2[ ....]]]] Не перезаписывать файлы с более поздней датой изменения (перезаписывать только старые файлы). Проверяются только файлы сооств. масок. (по умолчанию маска * - все). Используется только в сочетании с ключем /OF
[/SNEWF[ МаскаФайла1[ МаскаФайла2[ ....]]]] Перезаписывать только файлы с более поздней датой изменения. Проверяются только файлы сооств. масок. (по умолчанию маска * - все). Используется только в сочетании с ключем /OF
[/SDTSF[ МаскаФайла1[ МаскаФайла2[ ....]]]] Пропустить файлы с тойже датой изменения и размером. Проверяются только файлы с указанными масками. При шифровании и дешифровке не проверяется и всегда перезаписывается. (по умолчанию маска * - все). Используется только в сочетании с ключем /OF
[/DELF[ МаскаФайла1[ МаскаФайла2[ ....]]]] - удаляет по указанной маске успешно скопированные/сжатые/зашифрованные файлы в исходной папке (по умолчанию маска * - все)
[/DELFD[ МаскаПапки1[ МаскаПапки2[ ....]]]] Ограничивает действие ключа /DELF исходными папками по указанной маске (по умолчанию маска * - все)
ВАЖНО!!! ключи /DELF и /DELFD работают только для успешно скопированных/сжатых/переименованных файлов и не работают в сочетании с ключами /DNSF или /MIR
[/MD5[ МаскаФайла1[ МаскаФайла2[ ....]]]] Копировать только файлы с отличной контрольной суммой. Проверяются только файлы с указанными масками. При шифровании и дешифровке не проверяется и всегда перезаписывается. (по умолчанию маска * - все). Используется только в сочетании с ключем /OF.
ВАЖНО!!! Проверка контрольной суммы сильно замедляет процесс копирования. В большинстве случаев достаточно ключа /SDTSF в сочетании с ключем /OF
[/SZF NSizeBytes] Копировать/Сжимать/Шифровать только файлы размером большим или равным NSizeBytes байт
[/SZT NSizeBytes] Копировать/Сжимать/Шифровать только файлы размером меньшим или равным NSizeBytes байт
[/TM[ Nsec]] Копировать/Сжимать/Шифровать только файлы с датой и временем изменения в пределах последних Nsec секунд (отсчет от текущего времени). По умолчанию Nsec=3600 (один час)
[/DT[ Ndays]] Копировать/Сжимать/Шифровать только файлы с датой изменения в пределах последних Ndays дней (отсчет от текущей даты, время отбрасывается и не учитывается). По умолчанию Ndays=0 (сегодня)
[/DTS DD.MM.YYYY] Копировать/Сжимать/Шифровать только файлы с датой изменения большей или равной DD.MM.YYYY дате (напр. 01.09.2015) (где DD - день месяца, MM - месяц, YYYY - год. Важно - ведущие нули обязательны!
[/DTE DD.MM.YYYY] Копировать/Сжимать/Шифровать только файлы с датой изменения меньшей или равной DD.MM.YYYY дате (напр. 01.09.2015) (где DD - день месяца, MM - месяц, YYYY - год. Важно - ведущие нули обязательны!
[/DNSF[ МаскаФайла1[ МаскаФайла2[ ....]]]] Удалять файл если он не существует в исходной папке. Проверять и удалять только файлы подходящие под указанные маски. (по умолчанию маска * - все)
[/DNSD[ МаскаПапки1[ МаскаПапки2[ ....]]]] Удалять папки если они не существуют в исходной папке. Проверять и удалять только папки подходящие под указанные маски. (по умолчанию маска * - все)
[/MIR [ МаскаФайла1[ МаскаФайла2[ ....]]]] Создает зеркальную копию папок и файлов. Возможно ограничение по маскам. Эквивалентна комбинации ключей: /MF [ МаскаФайла1[ МаскаФайла2[ ....]]]] /MD /CSF /OF [ МаскаФайла1[ МаскаФайла2[ ....]]]] /DNSF [ МаскаФайла1[ МаскаФайла2[ ....]]]] /DNSD (по умолчанию маска * - все)
ВАЖНО!!! функции переименования файлов могут автоматически отключить функции зеркалировани. Исключение составляют ключи добавления или удаления расширения файлам при сжатиии, разжатии, компрессии и декомпрессии /COADD /DECODEL /CRADD /DECRDEL
[/NCD Не создавать дерево папок. (Все файлы будут скопированы в одну целевую папку)
[/RFA[ МаскаФайла1[ МаскаФайла2[ ....]]]] Установить все атрибуты файлов в "Архивный". Только для файлов подходящих под маски. (по умолчанию маска * - все)
[/RDA[ МаскаПапки1[ МаскаПапки2[ ....]]]] Сбросить атрибуты папок. Только для папок подходящих под маски. (по умолчанию маска * - все)
[/CSF[ МаскаФайла1[ МаскаФайла2[ ....]]]] Копировать атрибуты безопасности файлов (права доступа). Только для файлов подходящих под маски. (по умолчанию маска * - все)
[/CSD[ МаскаПапки1[ МаскаПапки2[ ....]]]] Копировать атрибуты безопасности папок (права доступа). Только для папок подходящих под маски. (по умолчанию маска * - все)
[/CTF[ МаскаФайла1[ МаскаФайла2[ ....]]]] Копировать даты последней записи, создания, последнего доступа и изменения файлов. Только для файлов подходящих под маски. (по умолчанию маска * - все)
[/CTD[ МаскаПапки1[ МаскаПапки2[ ....]]]] Копировать даты последней записи, создания, последнего доступа и изменения папок. Только для папок подходящих под маски. (по умолчанию маска * - все)

------------------------------------------ Переименование файлов -------------------------------

[/NOF[ МаскаФайла1[ МаскаФайла2[ ....]]]] Нормализовать (транслитерировать) имена файлов. Только для файлов подходящих под маски. (по умолчанию маска * - все)
[/NOD[ МаскаПапки1[ МаскаПапки2[ ....]]]] Нормализовать (транслитерировать) имена папок. Только для папок подходящих под маски. (по умолчанию маска * - все)
[/LANG Язык] Приоритет языка при транслитерации. (по умолчанию RU) Возможные значения: RU-Русский, JBR-Иврит, HY-Армянский, UK-Украинский, BE-Беларусский, EL-Греческий, KA-Грузинский, LT-Литовский, TG-Таджикский, KK-Казахский, DE-Немецкий, SP-Испанский, FR-Французский, IT-Итальянский
[/STRF ИскомаяСтрока1=НоваяСтрока1[ ИскомаяСтрока2=НоваяСтрока2[ ....]]] Заменять строки в именах файлов (вместо пробелов писать {SP}). По умолчанию замена регистро зависимая (смотри ключ /ICF), в ключе /STRF возможно использование предопределённых переменных: {SP} - символ пробела, {DATE} - текущая дата, {DATETIME} - текущие дата и время, {YEAR} - номер года, {MONTHNAME} - название месяца, {DAYNAME} - название дня недели, {MONTHOFYEAR} - номер мясяца вгоду, {WEEKOFYEAR} - номер недели в году, {WEEKOFMONTH} - номер недели в месяце, {DAYOFYEAR} - номер дня года, DAYOFMONTH} - номер дня в месяце, {DAYOFWEEK} - номер дня в неделе, {HOUR} - часы, {MIN} - минуты, {SEC} - секунды, {MSEC} - миллисекунды, {CRDATETIME} - дата и время создания файла, {LADATETIME} - дата и время последнего доступа к файлу, {LWDATETIME} - дата и время последнего изменения файла, {FSIZE} - размер файла, {FDOS} - dos имя файла, {FMD5} - хэш файла md5 (контрольная сумма, осторожно! замедляет процесс копирования), {NUMBER} - порядковый номер файла в папке, {FNUMBER} порядковый номер файла при копировании, {DNUMBER} - порядковый номер папки при копировании, {FNAMEEXT} - имя и расширение файла, {FNAME} - имя файла, {FEXT} - расширение файла, {QUOTE} - двойная кавычка, {EQUAL} - знак =
[/ICF] переключает замену в ключе /STRF на регистронезависимую
[/REPF НачальнаяПозиция[ КонечнаяПозиция[ ЧемЗаменить]]] В именах файлов заменяет текст с начальной по конечную позицию. Новый текст может содержать предопределённые переменные как в ключе /STRF. Нумерация позиций начинается с 1. Позиция с номером 0 соответствует перед первым символом названия файла. Позиция с номером большим длины названия файла соответствует первой позиции за последней буквой названия файла. При равенстве начальной и конечной позиций замена производится для одного символа названия файла. Ключ /REPF отрабатывает первым (при сочетании с другими ключами замены). Позиции по умолчанию = 1, текст пустой.
[/INSF ПозицияВставки[ ЧтоВставить]] В именах файлов вставляет текст в указанную позицию сдвигая вправо. Новый текст может содержать предопределённые переменные как в ключе /STRF. Нумерация позиций начинается с 1. Позиция с номером 0 соответствует перед первым символом названия файла. Позиция с номером большим длины названия файла соответствует первой позиции за последней буквой названия файла. Ключ /INSF отрабатывает первым (при сочетании с другими ключами замены) и вторым при сочетании с ключем /REPF. Позиция по умолчанию = 1, текст пустой.
[/STRD ИскомаяСтрока1=НоваяСтрока1[ ИскомаяСтрока2=НоваяСтрока2[ ....]]] Заменять строки в именах папок (вместо пробелов писать {SP}) По умолчанию замена регистро зависимая (смотри ключ /ICD), в ключе /STRD возможно использование предопределённых переменных: {DATE} - текущая дата, {DATETIME} - текущие дата и время, {YEAR} - номер года, {MONTHNAME} - название месяца, {DAYNAME} - название дня недели, {MONTHOFYEAR} - номер мясяца вгоду, {WEEKOFYEAR} - номер недели в году, {WEEKOFMONTH} - номер недели в месяце, {DAYOFYEAR} - номер дня года, DAYOFMONTH} - номер дня в месяце, {DAYOFWEEK} - номер дня в неделе, {HOUR} - часы, {MIN} - минуты, {SEC} - секунды, {MSEC} - миллисекунды, {DNUMBER} - порядковый номер папки при копировании, {DNAME} - имя папки, {QUOTE} - двойная кавычка, {EQUAL} - знак =
[/ICD] переключает замену в ключе /STRD на регистронезависимую
[/REPD НачальнаяПозиция[ КонечнаяПозиция[ ЧемЗаменить]]] В именах папок заменяет текст с начальной по конечную позицию. Новый текст может содержать предопределённые переменные как в ключе /STRD. Нумерация позиций начинается с 1. Позиция с номером 0 соответствует перед первым символом названия папки. Позиция с номером большим длины названия папки соответствует первой позиции за последней буквой названия папки. При равенстве начальной и конечной позиций замена производится для одного символа названия папки. Ключ /REPD отрабатывает первым (при сочетании с другими ключами замены). Позиции по умолчанию = 1, текст пустой.
[/INSD ПозицияВставки[ ЧтоВставить]] В именах папок вставляет текст в указанную позицию сдвигая вправо. Новый текст может содержать предопределённые переменные как в ключе /STRD. Нумерация позиций начинается с 1. Позиция с номером 0 соответствует перед первым символом названия папки. Позиция с номером большим длины названия папки соответствует первой позиции за последней буквой названия папки. Ключ /INSD отрабатывает первым (при сочетании с другими ключами замены) и вторым при сочетании с ключем /REPD. Позиция по умолчанию = 1, текст пустой.
[/DTF[ Маска даты]] Маска даты и времени для вывода (используется в переменных {DATETIME}{CRDATETIME}{LADATETIME}{LWDATETIME}). (по умолчанию маска yyyymmddhhnnss)
Маска даты может cодержать следующие управляющие символы:
y = Год из 2-х последних цифр, yy = Год из 2-х последних цифр, yyyy = Год из 4-х цифр, m = Номер месяца без 0, mm = Номер месяца как 2 цифры,mmm = Месяц используя ShortDayNames (Янв), mmmm = Месяц используя LongDayNames (Январь), d = Число без 0, dd = Число как 2 цифры, ddd = Число используя ShortDayNames (Воск), dddd = Число используя LongDayNames (Воскресенье), ddddd = Число в ShortDateFormat, dddddd = Число в LongDateFormat, c = Используя ShortDateFormat + LongTimeFormat, h = Час без 0, hh = Час как 2 цифры, n = Минуты без 0, nn = Минуты как 2 цифры, s = Секунды без 0, ss = Секунды как 2 цифры, z = Миллисекунды без 0, zzz = Миллисекунды как 2 цифры, t = Используя ShortTimeFormat, tt = Используя LongTimeFormat и любые другие, допустимые в именах файлов и папок, символы.
ВАЖНО!!! По умолчанию переименование отключает функции зеркалирования (/MIR и подобные). Исключение составляют ключи добавления или удаления расширения файлам при сжатиии, разжатии, компрессии и декомпрессии /COADD /DECODEL /CRADD /DECRDEL. Используя ключ /ALWAIS можно вернуть функциям зеркалирования функциональность. При использовании ключа /ALWAIS учитывайте что все переименованные файлы будут удалены в целевой папке если таковые не присутствуют в исходной папке. По сути, в целевой папке, останутся только не переименованные файлы.

------------------------------------------- Шифрование файлов ---------------------------------

[/CR[ МаскаФайла1[ МаскаФайла2[ ....]]]] Шифровать файлы с указанными масками (В рамках ограничений ключей /MF,/MD,/XCD,/XCF,/XDMD,/XDMF). (по умолчанию маска * - все)
[/CREX МаскаФайла1[ МаскаФайла2[ ....]]] Не шифровать файлы с указанными масками. (В рамках ограничений ключа /CR)
[/CRM Алгоритм] Изменить алгоритм шифрования. (по умолчанию DES *). Возможные значения: DES, BLOWFISH, CAST128, 3DES, ICE, THINICE, ICE2, RC2, RC4, RIJNDAEL, SERPENT, TEA, TWOFISH
[/CRADD[ Текст]] При шифровании добавлять к имени файла текст (по умолчанию .cmcrypt). Без указанного ключа переименование не происходит!
[/CRPASS Пароль] Пароль для шифрования

------------------------------------------ Дешифровка файлов ----------------------------------

[/DECR[ МаскаФайла1[ МаскаФайла2[ ....]]]] Дешифровать файлы с указанными масками (В рамках ограничений ключей /MF,/MD,/XCD,/XCF,/XDMD,/XDMF). (по умолчанию маска * - все)
[/DECREX МаскаФайла1[ МаскаФайла2[ ....]]] Не дешифровать файлы с указанными масками. (В рамках ограничений ключа /DECR)
[/DECRM Алгоритм] Изменить алгоритм дешифрования. (по умолчанию DES *). Возможные значения: DES, BLOWFISH, CAST128, 3DES, ICE, THINICE, ICE2, RC2, RC4, RIJNDAEL, SERPENT, TEA, TWOFISH
[/DECRDEL[ Текст]] При дешифровании убирать из имени файла текст (по умолчанию .cmcrypt). Без указанного ключа переименование не происходит!
[/DECRPASS Пароль] Пароль для дешифрования
ВАЖНО!!! при шифровании, CopyMik не внедряет в зашифрованный файл пароль и признак алгоритма шифрования. Если Вы неправильно введёте пароль или выберете отличный от того что использовался при шифровании алгоритм дешифровки сообщение об ошибке показано не будет. Дешифровка пройдёт до конца, понятно, что в этом случае данные не будут соответствовать тем что были до шифрования. Хранение пароля и алгоритма шифрования находится целиком в ведении пользователя.

------------------------------------------- Сжатие файлов ------------------------------------

[/CO[ МаскаФайла1[ МаскаФайла2[ ....]]]] Сжимать файлы с указанными масками (В рамках ограничений ключей /MF,/MD,/XCD,/XCF,/XDMD,/XDMF). (по умолчанию маска * - все)
[/COEX МаскаФайла1[ МаскаФайла2[ ....]]] Не сжимать файлы с указанными масками. (В рамках ограничений ключа /CO)
[/COADD[ Текст]] При сжатии добавлять к имени файла текст (по умолчанию .cmcomp). Без указанного ключа переименование не происходит!

------------------------------------------ Разжатие файлов -----------------------------------

[/DECO[ МаскаФайла1[ МаскаФайла2[ ....]]]] Разжать файлы с указанными масками (В рамках ограничений ключей /MF,/MD,/XCD,/XCF,/XDMD,/XDMF). (по умолчанию маска * - все)
[/DECOEX МаскаФайла1[ МаскаФайла2[ ....]]] Не расжимать файлы с указанными масками. (В рамках ограничений ключа /DECO)
[/DECODEL[ Текст]] При разжатии убирать из имени файла текст (по умолчанию .cmcomp). Без указанного ключа переименование не происходит!

----------------------------- Резервное копирование и восстановление файлов ------------------

[/B пароль] Резервное копирование со сжатием и шифрованием (аналог комбинации ключей /CO /CR /COADD /CRADD /OF)
[/R пароль] Восстановление из резервной копии с дешифрованием и разжатием (аналог комбинации ключей /DECO /DECR /DECODEL /DECRDEL /OF)

-------------------------------------- Вывод на экран и в лог, приоритет ---------------------

[/ERR] В выводе показывать только ошибки
[/NSKIP] Не показывать информацию о пропущенных файлах
[/NSTAT] Не показывать конечную статистику
[/ND] Не выводить лог на экран
[/PRIORITY [название приоритета]] Изменить приоритет выполнения программы. Название приоритета может принимать значения SUPER_LOW (или LOW-), LOW, BELOW_NORMAL (или NORMAL-), NORMAL, ABOVE_NORMAL (или NORMAL+), HIGEST (или MAX). По умолчанию - NORMAL. Допускается сокращенная форма ключа [/PR [название приоритета]]
[/CP номер] Кодовая страница вывода в консоль (по умолчанию 65001 - UTF8). Возможные значения: 0 - ANSI, 1 - OEM, 2 - MAC, 3 - threads ANSI, 866 - OEM RUS, 65000 - UTF7, 65001 - UTF8 итд -1 (с минусом) отключает изменени кодировки. Шрифт консоли должен позволять отображать эту кодировку!
[/LOG[ ПутьИЛогФайл]] запись лог в файл (UTF8 включая Маркер последовательности байтов - BOM) (по умолчанию CopyMik_{DATETIME}.log в текущей папке). Если файл уже существует он будет перезаписан. Запись в рамках ограничений ключей /ERR, /NSKIP и /NSTAT. В имени файла и пути возможно использование предопределённых переменных: {SP} - символ пробела, {DATE} - дата начала копирования, {DATETIME} - дата и время начала копирования (смотри ключ /DTF), {YEAR} - номер года, {MONTHNAME} - название месяца, {DAYNAME} - название дня недели, {MONTHOFYEAR} - номер мясяца вгоду, {WEEKOFYEAR} - номер недели в году, {WEEKOFMONTH} - номер недели в месяце, {DAYOFYEAR} - номер дня года, DAYOFMONTH} - номер дня в месяце, {DAYOFWEEK} - номер дня в неделе, {HOUR} - часы, {MIN} - минуты, {SEC} - секунды, {MSEC} - миллисекунды, {QUOTE} - двойная кавычка, {EQUAL} - знак =. Формат {DATETIME} задаёт ключ /DTF
[/ADDLOG] писать в конец лог файла если таковой уже усществует
[/LCSV [разделитель]] Писать лог в формате файла с разделителями (как CSV). Разделитель по умолчанию символ ; (возможно использование переменных {SP} - символ пробела и {TAB} - символ табуляции). Колонки: 1я - Статус, 2я - Сообщение, 3я - Исходный файл и/или папка, 4я - Целевой файл и/или папка
[/DCSV [разделитель]] Выводить лог на экран в формате файла с разделителями (как CSV). Разделитель по умолчанию символ ; (возможно использование переменных {SP} - символ пробела и {TAB} - символ табуляции). Колонки: 1я - Статус, 2я - Сообщение, 3я - Исходный файл и/или папка, 4я - Целевой файл и/или папка
/NOLOGTIME - не выводить на экран и в лог время завершения текущей операции (для совместимости со старым логом)

---------------------------- Запуск программ, обработка ошибок, верификация, прочее -----------

[/VF[ МаскаФайла1[ МаскаФайла2[ ....]]]] Верификация скопированных файлов (по маске файла). Не совместима со сжатием и шифрацией. ОСТОРОЖНО!!! Cильно замедляет копирование!. Ограничен рамками ключа /VD (если он задан). (по умолчанию маска * - все)
[/VD[ МаскаПапки1[ МаскаПапки2[ ....]]]] Верификация скопированных файлов (по маске папки). Не совместима со сжатием и шифрацией. ОСТОРОЖНО!!! Cильно замедляет копирование!. Ограничен рамками ключа /VF (если он задан). (по умолчанию маска * - все)
[/NVF МаскаФайла1[ МаскаФайла2[ ....]]] Не верифицировать файлы с указанными масками. Работает в рамках ключей /VF и/или /VD
[/NVD МаскаПапки1[ МаскаПапки2[ ....]]] Не верифицировать файлы в папках с указанными масками. Работает в рамках ключей /VF и/или /VD
[/MVS РазмерФайлаВБайтах] Максимальный размер файла для верификации в байтах (по умолчанию -1 не ограничен). Работает в рамках ключей /VF и/или /VD
[/NHP] Отключить постраничный вывод справочной информации (без паузы). Автоматически включает ключ /HELP
[/PAUSE] Пауза после завершения программы
[/PAUSEBYERROR] Пауза после завершения программы только если произошла ошибка
[/SE] Останавливаться после первой ошибки.

[/SETEXITCODE] В качестве кода возврата программы использовать количество скопированных файлов (от 0 до N) а если произошла ошибка то количествоошибок со знаком минус (от -N до -1). (Напр. для использования в пакетных файлах).

[/EXEC команда] Для каждого успешно скопированного файла выполнить программу или командный файл. Возможно использование переменных: {SRCFILE} - исходный файл, {DSTFILE} - файл назначения, {SRCDIR} - исходная папка, {DSTDIR} - папка назначения, {SRC} - исходный файл и путь к нему,{DST} - файл и папка назначения, {DATE} - текущая дата, {DATETIME} - текущие дата и время, {YEAR} - номер года, {MONTHNAME} - название месяца, {DAYNAME} - название дня недели, {MONTHOFYEAR} - номер мясяца вгоду, {WEEKOFYEAR} - номер недели в году, {WEEKOFMONTH} - номер недели в месяце, {DAYOFYEAR} - номер дня года, DAYOFMONTH} - номер дня в месяце, {DAYOFWEEK} - номер дня в неделе, {HOUR} - часы, {MIN} - минуты, {SEC} - секунды, {MSEC} - миллисекунды, {NUMBER} - порядковый номер файла в папке, {QUOTE} - двойная кавычка, {FNUMBER} порядковый номер файла при копировании, {DNUMBER} - порядковый номер папки при копировании,{SP} - символ пробела (символы пробелов просьба заменять на {SP}, формат даты задаёт ключ /DTF)
[/EXECPARAM параметры] Параметры для запускаемой в /EXEC программы или коммандного файла. Возможно использование переменных: {SRCFILE} - исходный файл, {DSTFILE} - файл назначения, {SRCDIR} - исходная папка, {DSTDIR} - папка назначения, {SRC} - исходный файл и путь к нему,{DST} - файл и папка назначения, {DATE} - текущая дата, {DATETIME} - текущие дата и время, {YEAR} - номер года, {MONTHNAME} - название месяца, {DAYNAME} - название дня недели, {MONTHOFYEAR} - номер мясяца вгоду, {WEEKOFYEAR} - номер недели в году, {WEEKOFMONTH} - номер недели в месяце, {DAYOFYEAR} - номер дня года, DAYOFMONTH} - номер дня в месяце, {DAYOFWEEK} - номер дня в неделе, {HOUR} - часы, {MIN} - минуты, {SEC} - секунды, {MSEC} - миллисекунды, {NUMBER} - порядковый номер файла в папке, {QUOTE} - двойная кавычка, {FNUMBER} порядковый номер файла при копировании, {DNUMBER} - порядковый номер папки при копировании,{SP} - символ пробела (символы пробелов просьба заменять на {SP}, формат даты задаёт ключ /DTF)

[/ENDEXEC команда] Если в процессе копирования не возникло ни одной ошибки то выполнить программу или командный файл. Возможно использование переменных: {SRCDIR} - исходная папка, {DSTDIR} - папка назначения, {LOG} - лог файл и путь к нему, {LOGFILE} - лог файл, {LOGPATH} - путь к лог файлу, {DATE} - текущая дата, {DATETIME} - текущие дата и время, {YEAR} - номер года, {MONTHNAME} - название месяца, {DAYNAME} - название дня недели, {MONTHOFYEAR} - номер мясяца вгоду, {WEEKOFYEAR} - номер недели в году, {WEEKOFMONTH} - номер недели в месяце, {DAYOFYEAR} - номер дня года, DAYOFMONTH} - номер дня в месяце, {DAYOFWEEK} - номер дня в неделе, {HOUR} - часы, {MIN} - минуты, {SEC} - секунды, {MSEC} - миллисекунды, {QUOTE} - двойная кавычка, {FNUMBER} Количество скопированных файлов, {DNUMBER} - количество пройденных папок,{SP} - символ пробела (символы пробелов просьба заменять на {SP}, формат {DATETIME} задаёт ключ /DTF)
[/ENDEXECPARAM параметры]] Параметры для запускаемой в /ENDEXEC программы или коммандного файла. Возможно использование переменных: {SRCDIR} - исходная папка, {DSTDIR} - папка назначения, {LOG} - лог файл и путь к нему, {LOGFILE} - лог файл, {LOGPATH} - путь к лог файлу, {DATE} - текущая дата, {DATETIME} - текущие дата и время, {YEAR} - номер года, {MONTHNAME} - название месяца, {DAYNAME} - название дня недели, {MONTHOFYEAR} - номер мясяца вгоду, {WEEKOFYEAR} - номер недели в году, {WEEKOFMONTH} - номер недели в месяце, {DAYOFYEAR} - номер дня года, DAYOFMONTH} - номер дня в месяце, {DAYOFWEEK} - номер дня в неделе, {HOUR} - часы, {MIN} - минуты, {SEC} - секунды, {MSEC} - миллисекунды, {QUOTE} - двойная кавычка, {FNUMBER} Количество скопированных файлов, {DNUMBER} - количество пройденных папок,{SP} - символ пробела (символы пробелов просьба заменять на {SP}, формат {DATETIME} задаёт ключ /DTF)

[/ENDERREXEC команда] Если в процессе копирования возникла хотябы одна ошибка то выполнить программу или командный файл. Возможно использование переменных: {SRCDIR} - исходная папка, {DSTDIR} - папка назначения, {LOG} - лог файл и путь к нему, {LOGFILE} - лог файл, {LOGPATH} - путь к лог файлу, {DATE} - текущая дата, {DATETIME} - текущие дата и время, {YEAR} - номер года, {MONTHNAME} - название месяца, {DAYNAME} - название дня недели, {MONTHOFYEAR} - номер мясяца вгоду, {WEEKOFYEAR} - номер недели в году, {WEEKOFMONTH} - номер недели в месяце, {DAYOFYEAR} - номер дня года, DAYOFMONTH} - номер дня в месяце, {DAYOFWEEK} - номер дня в неделе, {HOUR} - часы, {MIN} - минуты, {SEC} - секунды, {MSEC} - миллисекунды, {QUOTE} - двойная кавычка, {FNUMBER} Количество скопированных файлов, {DNUMBER} - количество пройденных папок,{SP} - символ пробела (символы пробелов просьба заменять на {SP}, формат {DATETIME} задаёт ключ /DTF), {ERRORS} - количество ошибок
[/ENDERREXECPARAM параметры]] Параметры для запускаемой в /ENDERREXEC программы или коммандного файла. Возможно использование переменных: {SRCDIR} - исходная папка, {DSTDIR} - папка назначения, {LOG} - лог файл и путь к нему, {LOGFILE} - лог файл, {LOGPATH} - путь к лог файлу, {DATE} - текущая дата, {DATETIME} - текущие дата и время, {YEAR} - номер года, {MONTHNAME} - название месяца, {DAYNAME} - название дня недели, {MONTHOFYEAR} - номер мясяца вгоду, {WEEKOFYEAR} - номер недели в году, {WEEKOFMONTH} - номер недели в месяце, {DAYOFYEAR} - номер дня года, DAYOFMONTH} - номер дня в месяце, {DAYOFWEEK} - номер дня в неделе, {HOUR} - часы, {MIN} - минуты, {SEC} - секунды, {MSEC} - миллисекунды, {QUOTE} - двойная кавычка, {FNUMBER} Количество скопированных файлов, {DNUMBER} - количество пройденных папок,{SP} - символ пробела (символы пробелов просьба заменять на {SP}, формат {DATETIME} задаёт ключ /DTF), {ERRORS} - количество ошибок

ВАЖНО!!! результат работы ключей /ENDEXEC и /ENDERREXEC не записывается в лог файл (смотри ключ /LOG), вывод производится только на дисплей. На момент выполнения этих ключей лог файл уже закрыт и доступен для манипуляций


Примеры использования CopyMik


Пример 1:
copymik.exe c:\Documents d:\DocArchiv /MIR
Что делает:
Создать зеркальную копию папки Documents в папке DocArchiv.


Пример 2:
copymik.exe c:\Documents d:\DocArchiv /MD buch* progr* important* /MF *.txt *.cpp *.jpg *.bmp /XCD .svn tmp* /XCF *.tmp *.db /OF
Что делает:
Копирует все файлы с масками *.txt *.cpp *.jpg *.bmp из папок с масками buch* progr* important*
при этом не копирует папки с масками .svn tmp*.
и не копирует файлы с масками *.tmp *.db и перезаписывает существующие файлы


Пример 3:
copymik.exe c:\Documents d:\DocArchiv /MD buch* progr* important* /MF *.txt *.cpp *.jpg *.bmp /XDMD important* /XDMF important* /OF
Что делает:
Копирует все файлы с масками *.txt *.cpp *.jpg *.bmp из папок с масками buch* progr* important*
папки с масками important* копируются полностью
если файлы существуют они перезаписываются


Пример 4:
copymik.exe c:\Documents d:\DocArchiv
Что делает:
Просто скопирует файлы из папки Documents в папку DocArchiv воссоздав исходную структуру папок. Если в целевой папке уже существуют то они будут пропущены (перезаписи не произойдёт).


Пример 5:
copymik D:\Documents\ c:\EncryptByckup /MF *.txt *.doc *.rtf *.bin /CR /CRADD /CREX *.bin /CRPASS tralala /OF
Что делает:
Копирует файлы с масками *.txt *.doc *.rtf *.bin из папки Documents в папку EncryptByckup воссоздав исходную структуру папок. Файлы с маской *.txt *.doc *.rtf при копировании шифруются и к их названию добавляется текст ".cmcrypt". Файлы с маской *.bin не шифруются и не переименовываются. Если файлы в папке назначения уже есть то они перезаписываются. Пароль для шифрования "tralala", алгоритм по умолчанию DES.


Пример 6:
copymik D:\Documents c:\EncryptByckup /MIR /CR /CRADD /CRPASS tralala
Что делает:
Создать зеркальную копию папки Documents в папке EncryptByckup. Все файла зашифровать и добавить к их имени текст ".cmcrypt". Пароль для шифрования "tralala", алгоритм по умолчанию DES. Если в целевой папке файл присутствует а в исходной нет то он удаляется.


Пример 7:
copymik D:\EncryptByckup c:\Documents /MIR /DECR /DECRDEL /DECRPASS tralala
Что делает:
Создать зеркальную копию папки EncryptByckup в папке Documents. Все файлы дешифровать и убрать из их имени текст ".cmcrypt". Пароль для дешифрования "tralala", алгоритм по умолчанию DES. Если в целевой папке файл присутствует а в исходной нет то он удаляется.


Пример 8:
copymik D:\EncryptByckup c:\Documents /B мойпароль
Что делает:
Создать резервную копию папки EncryptByckup в папке Documents. Все файлы сжать и шифровать и добавить к их имени текст ".cmcomp.cmcrypt". Пароль для шифрования "мойпароль".


Пример 9:
copymik D:\EncryptByckup c:\Documents /B мойпароль /DT 1
Что делает:
В отличии от примера 8 сжимать и шифровать только файлы с датой изменения вчера и сегодня (минус 1 день). Пароль для шифрования "мойпароль".


Пример 10:
copymik c:\Documents D:\EncryptByckup /R мойпароль
Что делает:
Восстанавливает (дешифрует, разжимает и копирует) файлы из папки Documents в папку EncryptByckup. Пароль для дешифрования "мойпароль".


Пример 11:
copymik c:\Documents d:\Documents /NOF /NOD
Что делает:
Копирует файлы из папки c:\Documents в папку d:\Documents. При копировании транслитерировать имена файлов и папок.


Пример 12:
copymik c:\Documents d:\Documents /STRD папка{SP}22=papka{SP}55 /STRF {FEXT}=.abr
Что делает:
Копирует файлы из папки c:\Documents в папку d:\Documents. При копировании заменяет в именах папок текст "папка 22" на "papka 55" а в именах файлов расширение на ".abr".


Пример 13:
copymik c:\Documents d:\Documents /MF *.doc /OF /CO /CR /CRPASS пароль /EXEC sendmail.bat /EXECPARAM {QUOTE}{DST}{QUOTE}
Что делает:
Сжимает, шифрует и копирует файлы с расширением doc (если файл существует то перезаписывает) из папки c:\Documents в папку d:\Documents. При успешном копировании запускает sendmail.bat передав ему в качестве параметра путь и имя файла назначения заключив их в двойные кавычки.


Пример 14:
copymik c:\Documents d:\Archiv /MF *.doc /OF /LOG c:\Logs\BackupDoc\DocCopyLog_{DATETIME}.csv /LCSV {TAB} /ND /ENDERREXEC SendLogPerEmailToAdmin.bat /ENDERREXECPARAM {LOG} /ENDEXEC CopyToArchiv.bat /ENDEXECPARAM {LOG}
Что делает:
Копирует файлы с расширением doc (если файл существует то перезаписывает) из папки c:\Documents в папку d:\Archiv. Процесс документируется в лог файл в формате CSV с разделителями - табуляцией. Имя лог файла - DocCopyLog_ДатаВремяНачалаКопирования.csv. Вывод информации на экран отключен. Если в процессе копирования произошла хоть одна ошибка запускается bat файл SendLogPerEmailToAdmin.bat которому в качестве параметра передаётся лог файл (напр для отправки лога алминистратору по электронной почте). Если ошибок не произошло лог передается в bat файл CopyToArchiv.bat (например для перемещения в архив)


Пример 15:
copymik c:\Documents d:\Archiv /DELF *.tmp /DELFD *LOG*
Что делает:
Копирует все файлы из папки c:\Documents в папку d:\Archiv. А файлы с маской *.tmp в папках с маской *LOG* перемещает.


Пример 16:
copymik c:\Documents d:\Archiv /MF *.doc /OF /SDTSF
Что делает:
Копирует все doc файлы из папки c:\Documents в папку d:\Archiv. Перезаписываются только отличающиеся по размеру или дате файлы.


Пример 17:
copymik.exe c:\source d:\dist /PRIORITY LOW-
Что делает:
Копирует файлы с минимальным приоритетом выполнения copymik (фоново, без загрузки ресурсов системы)


Пример 18:
Автоматическая отправка лога ошибок (или любого другого изменённого файла) администратору на E-Mail
Реализация:
1. Создаем коммандный файл CheckErrorLog.cmd следующего содержания:
REM Перемещаем файл лога ошибок (*.elf) в архив предварительно переименовав (вставив в название дату и время перемещения),
REM в случае если перемещение произошло запускаем командный файл EmailByError.bat передав ему в качестве параметра перемещенный файл
\\Server\ELF\copymik.exe \\Server\\ProgramFolder \\Server\ELF\ALT /MF *.elf /NSKIP /XCD * /OF /SDTSF /DELF *.elf /STRF {FEXT}=.{DATETIME}{FEXT} /EXEC \\Server\ELF\EmailByError.bat /EXECPARAM {QUOTE}{DST}{QUOTE}{SP}{QUOTE}{SRC}{QUOTE}

2. Создаем сомандный файл EmailByError.bat, для отправки лога на E-Mail администратора, следующего содержания (указываются E-Mail получателя и отправителя, заголовок E-Mail, IP SMTP Сервера и лог фал отправки):
rem Отправка E-Mail
\\Server\ELF\blat.exe %1 ^
-to administrator@domain.ru,Vasiliy Pupkin ^
-debug -timestamp -log blatSMTPlog.txt ^
-s "В программе произошла ошибка %1" ^
-i sender@domain.ru ^
-f "sender@domain.ru" ^
-q -server 192.168.1.22

3. Далее создаёте периодически выполняющийся крон, запускающий CheckErrorLog.cmd на выполнение. Как только файл лога ошибок появится в папке программы он будет отправлен на указанный Вами E-Mail. Для отправки E-Mail автор использует свободно распостраняемую программу blat


Пример 19:
copymik.exe C:\backup\20160302103207\ C:\Documents\ /R mypassword /MF contract154.doc.cmcomp.cmcrypt /XCD
Что делает:
Восстановить из резервной копии один файл - contract154.doc. Не восстанавливая дерево папок.


Пример 20:
Использование кода возврата программы copymik в пакетном файле:
REM **********************
REM Backup file backup.bat
REM **********************
cls
@echo off
set /P pass="Password: "
if %pass% EQU "" exit /b 1

rem Backup C:\Documents\ in C:\Backup\{DATETIME}\ all files modified today
copymik C:\Documents\ C:\Backup\{DATETIME}\ /LOG c:\backup_{DATETIME}.log /SETEXITCODE /B %pass% /DT

if %ERRORLEVEL% EQU 0 goto :NOTCOPIED
if %ERRORLEVEL% GTR 0 goto :COPIED
if %ERRORLEVEL% LSS 0 goto :ERRCOPY

goto :EOF

:COPIED
REM %ERRORLEVEL% files copied
move c:\backup_*.log c:\Archiv\
goto :EOF

:ERRCOPY
REM %ERRORLEVEL% errors by copy
move c:\backup_*.log c:\Error\
goto :EOF

:NOTCOPIED
REM %ERRORLEVEL% = 0, files not copied
move c:\backup_*.log c:\Temp\
goto :EOF
REM **********************
REM End file backup.bat
REM **********************


Пример 21:
copymik c:\Documents c:\backup /REPF 2 3 _{DATETIME}_
Что делает:
Копирует файлы и папки из c:\Documents в c:\backup заменяя в названиях файлов со 2го по 3й символ включительно текущей датой обрамлённой символами подчеркивания.


Пример 22: Создание теневой копии тома C: и запуск пакетного файла с передачей в него ссылки на теневую копию для копирования
VsToolkit.exe -exec=test.bat c:

В bat файле:
copymik.exe %1\SourceFolder d:\DistFolder /CMF ....

Подробнее:
Начиная с версии 2.14 Copymik совместим с теневыми копиями томов (теневое копирование VSS).
Теневое копирование (VSS) - технология Microsoft (c) встроенная в Windows (c) начиная c Vista (c) позволяющая копировать, открытые в момент копирования на редактирования, файлы. Сервисы VSS делают поблочный снимок тома файловой системы (только изменяемых в данный момент блоков) и предоставляет доступ к теневому снимку тома по специальной ссылке.
Далее эту ссылку можно использовать как обычный path к нужному Вам тому файловой системы. Копирование из него не приведёт теперь к ошибке совместного доступа. Обращаю внимание что технология работает только на уровне тома файловой системы. Вы не можете создать снимок какой то определённой папки, только всего тома. Поэтому воспринимайте ссылку на теневую копию как имя тома ( например для диска C: ссылка может выглядеть как \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1 ). Получить список активных снимков томов можно командой vssadmin List Shadows. Соответственно копирование из теневой папки c:\Documents будет выглядеть как copymik.exe \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Documents D:\Backup
В большинстве случаев copymik сама определит что копирование осуществляется из теневой копии тома и включит режим совместимого копирования. Если этого не произойдёт автоматически есть ключ /CMF включающий этот режим. Инициировать создание теневой копии можно как средствами самой Windows (c) так и специальными утилитами запускающими этот процесс в системе. Я использую для этих целей бесплатную утилиту VsToolkit.exe (вложена в архив с copymik). Её удобство не только в том что она инициирует процесс создания теневой копии тома но и в том что она может передать ссылку на новую теневую копию в другую программу (напр. в bat файл), передача всегда происходит первым параметрном. Например следующая команда инициирует создание теневой копии тома C: и передаёт ссылку на неё в bat файл запуская его на выполнение VsToolkit.exe -exec=test.bat c:
В сам bat файл достаточно вставить комманду вида copymik.exe %1\ИсходнаяПапка\ d:\ЦелеваяПапка /CMF .... (ключ /CMF скорее всего не понадобится). Примите во внимание что максимальное количество теневых копий тома в системе 64 (манипулируя реестром это число можно изменить). Если это число достигло своего максимального значения или мето под теневые копии закончилось процесс зациклится и первая теневая копия будет перезаписана.
В настройках операционной системы можно задать объем диска под теневые копии. С целью увеличения производительности создания теневых копий и копирования из них желательно размещать их на другом физическом диске. Время создания теневой копии зависит от производительности и нагруженности файловой системы и количества открытых на изменение файлов, (у меня для тома размером 1 террабайт процесс занимает в среднем 30-40 секунд, у Вас это время может отличаться).


Author: Mikhail Tchervonenko Hobbies: Landscape photography
Alternative: RoboCopy  |  Copy Handler  |  TeraCopy  |  FastCopy


Please timely report bugs to the RusMikleАТgmail.com. Discussion CopyMik in Russian hier, hier, hier and hier Discussion CopyMik in Deutch hier



Other freeware products of the author: WOL - Wake on lan program  |  MD5 hash calculator  |  VFP 9 multi-projekt manager  |  PDO Emulator for PEAR DB  |  DelT