@echo off
goto begin
::-----------------------------------------------------------------------------
:: File Name: "xcp.bat" - eXtended CoPy BATch for Windows7 HP 64bit(x64)
:: and the related Backup/Copy Softwares
::
:: Copyright: Public Domain Software (NOT TO BE SHAREWARE OR FREEWARE)
::
:: Version (??: secondary series; can be revised by somebodies)
:: *.*?? by *** May be revised for something
::
:: Version (ps: primary series; reserved for S. )
:: 1.1ps by S. Command path selection etc. modified.
:: 1.0ps by S. Created for Robocopy, RichCopy, FastCopy, Fire File Copy etc.
::
:: Related Softwares (required):
::
:: - Robocopy in Windows7 Home Premium, 64-bit Version 6.1 (Build 7600)
:: - RichCopy Version: 4,0,217,0 (freeware, 32/64bit)
:: http://technet.microsoft.com/ja-jp/magazine/2009.04.utilityspotlight.aspx
:: - FastCopy(64bit) ver2.03 (Admin) (freeware, 64bit)
:: http://ipmsg.org/tools/fastcopy.html
:: - Fire File Copy Version : 4.9.1.0(unicode) (freeware, 32bit)
:: http://www.k3.dion.ne.jp/~kitt/pc/sw/ffc/
:: - FileVisor6 ver6.4.7.1 (shareware, 32bit)
:: http://www.lightship.co.jp/FileVisor6/
:: - WinFM2008 V2.13 (Build 419) (x64 - unicode version) (shareware, 64bit)
:: http://homepage3.nifty.com/annsHome/WinFM2008.htm
:: - Far Manager v2.0 build 1666 x64 (2010-09-10) (freeware, 64bit)
:: http://www.farmanager.com/download.php?p=64
::
:: Notes
:: - Attribute characters of Windows7 Explorer
:: (that should be used for Filers, Archivers and Backup/Copy Softwares)
:: Attr:R (READONLY)
:: Attr:H (HIDDEN)
:: Attr:S (SYSTEM)
:: Attr:D (DIRECTORY)
:: Attr:A (ARCHIVE)
:: Attr:N (NORMAL)
:: Attr:T (TEMPORARY)
:: Attr:P (SPARSE_FILE)
:: Attr:L (REPARSE_POINT)
:: Attr:C (COMPRESSED)
:: Attr:O (OFFLINE)
:: Attr:I (NOT_CONTENT_INDEXED)
:: Attr:E (ENCRYPTED)
:: Attr:V (VIRTUAL)
::
:: - Attribute characters (MJL extension)
:: (expected to be used for Filers, Archivers and Backup/Copy Softwares)
:: Attr:M (Volume Mount Points)
:: Attr:J (Junction Points)
:: Attr:L (Symbolic Links only)
::-----------------------------------------------------------------------------
:begin
if .%1==.-frc (
set _CP_SA1=%1
shift /1
)
if not exist "%~f3" goto usage
set _CP_DST=%~f3
set _CP_TFN=
if .%1==.-rob goto setup%1
if .%1==.-ric goto setup%1
if .%1==.-fc2 goto setup%1
if .%1==.-ffc goto setup%1
if .%1==.-fv6 goto setup%1
if .%1==.-wfm goto setup%1
if .%1==.-far goto setup%1
goto usage
:---
:setup-rob
set _CP_CMD=%SystemRoot%\System32\Robocopy
set _CP_TRG=
set _CP_PRE=
set _CP_OPR= /E /B /DCOPY:T /COPYALL /PURGE /SL /MT:1 /XF hiberfil.sys pagefile.sys /XD "%~n0.$?$" /XO
set _CP_OMR=%_CP_OPR%
set _CP_OCP= /E /B /DCOPY:T /COPYALL /SL /MT:1 /XF hiberfil.sys pagefile.sys /XD "%~n0.$?$"
set _CP_DEF= /IS /IT /R:0 /W:1 /TBD /X /V /TS /FP /BYTES /ETA /LOG+:"%~dp0x%1%2.log" /TEE
goto setup
:setup-ric
if exist "%ProgramFiles%\Microsoft Rich Tools\RichCopy 4.0\" (
set "_CP_CMD=%ProgramFiles%"
) else if exist "%ProgramFiles(x86)%\Microsoft Rich Tools\RichCopy 4.0\" (
set "_CP_CMD=%ProgramFiles(x86)%"
) else (
set "_CP_CMD=%SystemDrive%\usr"
)
set _CP_CMD=%_CP_CMD%\Microsoft Rich Tools\RichCopy 4.0\RichCopy
if exist "%ProgramFiles(x86)%\" set _CP_CMD=%_CP_CMD%64
set _CP_TRG=
set _CP_PRE=
:BUG: RichCopy command line parser not recognize TAB character
:BUG set _CP_OPR= /CDSD /FSD /FAD /CSA /CSD /CSG /CSO /CSS /PRP /W /NC /SZ /P /FEF "hiberfil.sys;pagefile.sys" /FED "%~n0.$?$"
set _CP_OPR= /CDSD /FSD /FAD /CSA /CSD /CSG /CSO /CSS /PRP /W /NC /SZ /P /FEF "hiberfil.sys;pagefile.sys" /FED "%~n0.$?$"
set _CP_OMR=%_CP_OPR%
:BUG: RichCopy command line parser not recognize TAB character
:BUG set _CP_OCP= /CDSD /FSD /FAD /ALWS /CSA /CSD /CSG /CSO /CSS /PRP /W /NC /SZ /FEF "hiberfil.sys;pagefile.sys" /FED "%~n0.$?$"
set _CP_OCP= /CDSD /FSD /FAD /ALWS /CSA /CSD /CSG /CSO /CSS /PRP /W /NC /SZ /FEF "hiberfil.sys;pagefile.sys" /FED "%~n0.$?$"
set _CP_DEF= /TD 1 /PP 5 /R 1 /RI 1 /QA /QP "%~dp0x%1%2.log" /UE /US /UD /UC /UPF /UPC /UPS /UFC /UCS /USC /USS /USD /UPR /UET
goto setup
:setup-fc2
if exist "%ProgramFiles%\FastCopy\" (
set "_CP_CMD=%ProgramFiles%"
) else if exist "%ProgramFiles(x86)%\FastCopy\" (
set "_CP_CMD=%ProgramFiles(x86)%"
) else (
set "_CP_CMD=%SystemDrive%\usr"
)
set _CP_CMD=%_CP_CMD%\FastCopy\FastCopy
set _CP_TRG=/to=
set _CP_PRE=
set _CP_OPR= /cmd=sync /auto_close /open_window /estimate /no_confirm_del /error_stop /bufsize=32 /log=FALSE /filelog="%~dp0x%1%2.log" /utf8 /skip_empty_dir=FALSE /force_start=FALSE /disk_mode=auto /speed=full /exclude="hiberfil.sys;pagefile.sys;%~n0.$?$\"
set _CP_OMR=%_CP_OPR%
set _CP_OCP= /cmd=force_copy /auto_close /open_window /estimate /no_confirm_del /error_stop /bufsize=32 /log=FALSE /filelog="%~dp0x%1%2.log" /utf8 /skip_empty_dir=FALSE /force_start=FALSE /disk_mode=auto /speed=full /exclude="hiberfil.sys;pagefile.sys;%~n0.$?$\"
set _CP_DEF= /wipe_del=FALSE /acl /stream /reparse /verify=FALSE /linkdest /recreate /postproc=FALSE
goto setup
:setup-ffc
if exist "%ProgramFiles%\FFC\" (
set "_CP_CMD=%ProgramFiles%"
) else if exist "%ProgramFiles(x86)%\FFC\" (
set "_CP_CMD=%ProgramFiles(x86)%"
) else (
set "_CP_CMD=%SystemDrive%\usr"
)
set _CP_CMD=%_CP_CMD%\FFC\FFC
set _CP_TRG=/to:
set _CP_PRE= ;hiberfil.sys ;pagefile.sys ;"\%~n0.$?$"
set _CP_OPR= /sync /a /ed /ft:15 /lg:127 /md /ov:b1i1a2
set _CP_OMR=%_CP_OPR%
set _CP_OCP= /copy /a /ed /ft:15 /lg:127 /md /ov:a1
set _CP_DEF= /sr /st /tp:high /-vf /wd /ys
goto setup
:setup-fv6
if exist "%ProgramFiles%\LightShip\FileVisor6\" (
set "_CP_CMD=%ProgramFiles%"
) else if exist "%ProgramFiles(x86)%\LightShip\FileVisor6\" (
set "_CP_CMD=%ProgramFiles(x86)%"
) else (
set "_CP_CMD=%SystemDrive%\usr"
)
if exist "%ProgramFiles%\Common Files\LightShip\" (
set "_CP_CWD=%ProgramFiles%"
) else if exist "%ProgramFiles(x86)%\Common Files\LightShip\" (
set "_CP_CWD=%ProgramFiles(x86)%"
) else (
set "_CP_CWD=%SystemDrive%\usr"
)
set _CP_CMD=%_CP_CMD%\LightShip\FileVisor6\FV6
set _CP_CWD=%_CP_CWD%\Common Files\LightShip
goto setup
:setup-wfm
if exist "%ProgramFiles%\WinFM2008\" (
set "_CP_CMD=%ProgramFiles%"
) else if exist "%ProgramFiles(x86)%\WinFM2008\" (
set "_CP_CMD=%ProgramFiles(x86)%"
) else (
set "_CP_CMD=%SystemDrive%\usr"
)
if exist "%ProgramFiles(x86)%\" (
set "_CP_CMD=%_CP_CMD%\WinFM2008\WinFMx64"
) else (
set "_CP_CMD=%_CP_CMD%\WinFM2008\WinFM2k"
)
goto setup
:setup-far
if exist "%ProgramFiles%\Far2\" (
set "_CP_CMD=%ProgramFiles%"
) else if exist "%ProgramFiles(x86)%\Far2\" (
set "_CP_CMD=%ProgramFiles(x86)%"
) else (
set "_CP_CMD=%SystemDrive%\usr"
)
set _CP_CMD=%_CP_CMD%\Far2\Far
goto setup
:setup
set _CP_CMD="%_CP_CMD%"
set _CP_OMD=%_CP_OCP%
set _CP_ATT=
set _CP_SRC=
set _CP_ARG= %4 %5 %6 %7 %8 %9
if .%2==.-p goto purge%1
if not exist "%~f4" goto usage
set _CP_SRC=%~f4
set _CP_ARG= %5 %6 %7 %8 %9
if .%2==.-m goto mirror%1
if .%2==.-c goto copy%1
if .%2==.-r goto resA%1
if .%2==.-sd goto setA4D%1
if .%2==.-sf goto setA4F%1
goto usage
:---
:usage
echo Usage:
: echo %~n0 -rob/-ric/fc2/ffc/fv6/wfm/far -p DST [ARG..]
echo %~n0 -rob/-ric/fc2/ffc -p DST [ARG..]
: echo %~n0 -rob/-ric/fc2/ffc/fv6/wfm/far -m/-c/-r/-sd/-sf DST SRC [ARG..]
echo %~n0 -rob/-ric/fc2/ffc -m/-c/-r/-sd/-sf DST SRC [ARG..]
echo -rob: Operation with Robocopy
echo -ric: Operation with RichCopy
echo -fc2: Operation with FastCopy
echo -ffc: Operation with Fire File Copy
: echo -fv6: Operation with FileVisor6
: echo -wfm: Operation with WinFM2008
: echo -far: Operation with Far Manager
echo -p: Purge DIR./FILE
echo -m: Mirror DIR./FILE
echo -c: Copy DIR./FILE
echo -r: Reset Attr. for DIR./FILE
echo -sd: Set Attr. for DIR.
echo -sf: Set Attr. for FILE
echo DST: Destination DIR.
echo SRC: Source DIR.
echo ARG: Optional Argument
echo.
echo e.g. %~n0 -rob -p \dstdir
echo e.g. %~n0 -fc2 -c \dstdir \srcdir
goto exit
:---
:purge-rob
echo Purge DIR./FILE with Robocopy -------------------------------------------------
echo (Very Long Paths over 260 up to 32767 char. will be processed)
echo NOTICES (Problems to be revised):
echo.
echo - Entities of Reparse Points will be lost for DIR. (not be lost for FILE)
echo -- Entities of Volume Mount Points will be lost for DIR.
echo -- Entities of Junction Points will be lost for DIR.
echo -- Entities of Symbolic Links will be lost for DIR. (not be lost for FILE)
goto purge
:purge-ric
echo Purge DIR./FILE with RichCopy -------------------------------------------------
echo NOTICES (Problems to be revised):
echo - Very Long Paths over 247 up to 32767 char. not processed
echo.
echo - Entities of Reparse Points will be lost for DIR. (not be lost for FILE)
echo -- Entities of Volume Mount Points will be lost for DIR.
echo -- Entities of Junction Points will be lost for DIR.
echo -- Entities of Symbolic Links will be lost for DIR. (not be lost for FILE)
echo - Attr:L (REPARSE_POINT) entries not deleted for DIR. (deleted for FILE)
echo -- Volume Mount Points themselves not deleted for DIR.
echo -- Junction Points themselves not deleted for DIR.
echo -- Symbolic Links themselves not deleted for DIR. (deleted for FILE)
echo - DIR. and Attr:R (READONLY) entries for DIR./FILE not deleted
goto purge
:purge-fc2
echo Purge DIR./FILE with FastCopy -------------------------------------------------
echo (Very Long Paths over 260 up to 32767 char. will be processed)
echo NOTICES (Problems to be revised):
echo.
echo - Attr:L (REPARSE_POINT) entries with Attr:R (READONLY) not deleted for DIR.
echo -- Volume Mount Points themselves with Attr:R (READONLY) not deleted for DIR.
echo -- Junction Points themselves with Attr:R (READONLY) not deleted for DIR.
echo -- Symbolic Links themselves with Attr:R (READONLY) not deleted for DIR.
goto purge
:purge-ffc
echo Purge DIR./FILE with Fire File Copy -------------------------------------------
echo NOTICES (Problems to be revised):
echo - Very Long Paths over 247 up to 32767 char. not processed
echo.
echo - No DIR./FILE deleted
goto purge
:purge-fv6
echo Purge DIR./FILE with FileVisor6 (manual operation) ----------------------------
echo NOTICES (Problems to be revised):
echo - Very Long Paths over 247 up to 32767 char. not processed
echo.
goto purge
:purge-wfm
echo Purge DIR./FILE with WinFM2008 (manual operation) -----------------------------
echo NOTICES (Problems to be revised):
echo - Very Long Paths over 247 up to 32767 char. not processed
echo.
goto purge
:purge-far
echo Purge DIR./FILE with Far Manager (manual operation) ---------------------------
echo (Very Long Paths over 260 up to 32767 char. will be processed)
echo NOTICES (Problems to be revised):
echo.
goto purge
:purge
echo - DIR./FILE in Reparse Points or themselves not selectable in deleting
echo.
echo WARNINGS:
echo - DIR./FILE in DST (Destination) may be deleted!!
echo - DIR./FILE in "Volume Mount Points" under DST may be deleted!!
echo - DIR./FILE in "Junction Points" under DST may be deleted!!
echo - DIR./FILE in "Symbolic Links" under DST may be deleted!!
if not .%_CP_SA1%==.-frc (
choice /M "Did you understand the above WARNINGS"
if errorlevel 2 goto exit
choice /M "Do you cancel the operation"
if not errorlevel 2 goto exit
)
set _CP_OMD=%_CP_OPR%
goto common
:---
:mirror-rob
echo Mirror DIR./FILE with Robocopy ------------------------------------------------
echo (Very Long Paths over 260 up to 32767 char. will be processed)
echo NOTICES (Problems to be revised):
echo - Copying not processed in order of DIR. entries (from FAT32/FAT to FAT32/FAT)
echo - Creation Time not copied for Volume Mount Points and Symbolic Links of DIR.
echo - Last Write Time not copied for Volume Mount Points of DIR. (copied for FILE)
echo - Attr:P (SPARSE_FILE) may not be copied for small FILE
echo - Attr:L (REPARSE_POINT) may not be copied for DIR./FILE
echo - Attr:C (COMPRESSED) not copied for DIR./FILE
echo - Attr:E (ENCRYPTED) may not be copied for DIR./FILE (untested)
echo - Attr:V (VIRTUAL) may not be copied for DIR./FILE (untested)
echo - Hard Links themselves not copied for FILE
echo -- Volume Mount Points themselves not copied for DIR.
echo -- Junction Points themselves not copied for DIR.
echo -- Symbolic Links themselves not copied for FILE (copied for DIR.)
echo - ACL (Access Control Lists) may not be copied for DIR./FILE
echo -- DACL (Discretionary ACL) not copied for DIR./FILE
echo -- SACL (System ACL) not copied for DIR./FILE (icacls: "S:AINO_ACCESS_CONTROL")
echo - ADS not copied for Junction Points of DIR. (copied for FILE)
echo.
echo - Entities of Reparse Points will be lost for DIR. (not be lost for FILE)
echo -- Entities of Volume Mount Points will be lost for DIR.
echo -- Entities of Junction Points will be lost for DIR.
echo -- Entities of Symbolic Links will be lost for DIR. (not be lost for FILE)
goto mirror
:mirror-ric
echo Mirror DIR./FILE with RichCopy ------------------------------------------------
echo NOTICES (Problems to be revised):
echo - Very Long Paths over 247 up to 32767 char. not processed
echo - Last Write Time not copied for Volume Mount Points of DIR. (copied for FILE)
echo - Attr:P (SPARSE_FILE) not copied for FILE
echo - Attr:L (REPARSE_POINT) not copied for DIR./FILE
echo - Attr:E (ENCRYPTED) may not be copied for DIR./FILE (untested)
echo - Attr:V (VIRTUAL) may not be copied for DIR./FILE (untested)
echo - Hard Links themselves not copied for FILE
echo -- Volume Mount Points themselves not copied for DIR.
echo -- Junction Points themselves not copied for DIR.
echo -- Symbolic Links themselves not copied for DIR./FILE
echo - ACL (Access Control Lists) not copied for DIR./FILE
echo -- DACL (Discretionary ACL) not copied for DIR./FILE
echo -- Group SID (Security ID) not copied for DIR./FILE
echo -- Owner SID (Security ID) not copied for DIR./FILE
echo -- SACL (System ACL) not copied for DIR./FILE
echo - ADS (Alternate Data Streams) not copied for DIR./FILE
echo.
echo - Entities of Reparse Points will be lost for DIR. (not be lost for FILE)
echo -- Entities of Volume Mount Points will be lost for DIR.
echo -- Entities of Junction Points will be lost for DIR.
echo -- Entities of Symbolic Links will be lost for DIR. (not be lost for FILE)
echo - Attr:L (REPARSE_POINT) entries not deleted for DIR. (deleted for FILE)
echo -- Volume Mount Points themselves not deleted for DIR.
echo -- Junction Points themselves not deleted for DIR.
echo -- Symbolic Links themselves not deleted for DIR. (deleted for FILE)
echo - DIR. and Attr:R (READONLY) entries for DIR./FILE not deleted
goto mirror
:mirror-fc2
echo Mirror DIR./FILE with FastCopy ------------------------------------------------
echo (Very Long Paths over 260 up to 32767 char. will be processed)
echo NOTICES (Problems to be revised):
echo - Copying not processed in order of DIR. entries (from FAT32/FAT to FAT32/FAT)
echo - Attr:A (ARCHIVE) not copied, be set forcibly for FILE (copied for DIR.)
echo - Attr:N (NORMAL) not copied, be reset forcibly for FILE
echo - Attr:P (SPARSE_FILE) not copied for FILE
echo - Attr:C (COMPRESSED) not copied for DIR./FILE
echo - Attr:E (ENCRYPTED) may not be copied for DIR./FILE (untested)
echo - Attr:V (VIRTUAL) may not be copied for DIR./FILE (untested)
echo - ACL (Access Control Lists) may not be copied for DIR./FILE
echo -- SACL (System ACL) not copied for DIR./FILE
echo - ADS not copied for DIR. except Junction Points and FILE of big Sparse File
echo.
echo - Attr:L (REPARSE_POINT) entries with Attr:R (READONLY) not deleted for DIR.
echo -- Volume Mount Points themselves with Attr:R (READONLY) not deleted for DIR.
echo -- Junction Points themselves with Attr:R (READONLY) not deleted for DIR.
echo -- Symbolic Links themselves with Attr:R (READONLY) not deleted for DIR.
goto mirror
:mirror-ffc
echo Mirror DIR./FILE with Fire File Copy ------------------------------------------
echo NOTICES (Problems to be revised):
echo - Very Long Paths over 247 up to 32767 char. not processed
echo - Copying not processed in order of DIR. entries (from FAT32/FAT to FAT32/FAT)
echo - Creation Time not copied for any Reparse Points of DIR. (copied for FILE)
echo - Last Write Time not copied for any Reparse Points of DIR. (copied for FILE)
echo - Attr:T (TEMPORARY) not copied for FILE
echo - Attr:P (SPARSE_FILE) not copied for FILE
echo - Attr:L (REPARSE_POINT) may not be copied for DIR./FILE
echo - Attr:C (COMPRESSED) not copied for DIR./FILE
echo - Attr:O (OFFLINE) not copied for DIR./FILE
echo - Attr:I (NOT_CONTENT_INDEXED) not copied for DIR./FILE
echo - Attr:E (ENCRYPTED) may not be copied for DIR./FILE (untested)
echo - Attr:V (VIRTUAL) may not be copied for DIR./FILE (untested)
echo - Hard Links themselves not copied for FILE
echo -- Symbolic Links themselves not copied for DIR.(GUI mode)/FILE
echo - ACL (Access Control Lists) not copied for DIR./FILE
echo -- DACL (Discretionary ACL) not copied for DIR./FILE
echo -- Group SID (Security ID) not copied for DIR./FILE
echo -- Owner SID (Security ID) not copied for DIR./FILE
echo -- SACL (System ACL) not copied for DIR./FILE
echo - ADS not copied for DIR. except Junction Points (copied for FILE)
echo.
echo - No DIR./FILE deleted
: goto mirror
goto abort
:mirror-fv6
:mirror-wfm
:mirror-far
echo Operation unsupported
goto abort
:mirror
echo - DIR./FILE in Reparse Points or themselves not selectable in deleting
echo.
echo WARNINGS:
echo - DIR./FILE in DST (Destination) may be deleted!!
echo - DIR./FILE in "Volume Mount Points" under DST may be deleted!!
echo - DIR./FILE in "Junction Points" under DST may be deleted!!
echo - DIR./FILE in "Symbolic Links" under DST may be deleted!!
if not .%_CP_SA1%==.-frc (
choice /M "Did you understand the above WARNINGS"
if errorlevel 2 goto exit
choice /M "Do you cancel the operation"
if not errorlevel 2 goto exit
)
set _CP_OMD=%_CP_OMR%
goto common
:---
:copy-rob
echo Copy DIR./FILE with Robocopy --------------------------------------------------
echo (Very Long Paths over 260 up to 32767 char. will be processed)
echo NOTICES (Problems to be revised):
echo - Copying not processed in order of DIR. entries (from FAT32/FAT to FAT32/FAT)
echo - Creation Time not copied for Volume Mount Points and Symbolic Links of DIR.
echo - Last Write Time not copied for Volume Mount Points of DIR. (copied for FILE)
echo - Attr:P (SPARSE_FILE) may not be copied for small FILE
echo - Attr:L (REPARSE_POINT) may not be copied for DIR./FILE
echo - Attr:C (COMPRESSED) not copied for DIR./FILE
echo - Attr:E (ENCRYPTED) may not be copied for DIR./FILE (untested)
echo - Attr:V (VIRTUAL) may not be copied for DIR./FILE (untested)
echo - Hard Links themselves not copied for FILE
echo -- Volume Mount Points themselves not copied for DIR.
echo -- Junction Points themselves not copied for DIR.
echo -- Symbolic Links themselves not copied for FILE (copied for DIR.)
echo - ACL (Access Control Lists) may not be copied for DIR./FILE
echo -- DACL (Discretionary ACL) not copied for DIR./FILE
echo -- SACL (System ACL) not copied for DIR./FILE (icacls: "S:AINO_ACCESS_CONTROL")
echo - ADS not copied for Junction Points of DIR. (copied for FILE)
goto copy
:copy-ric
echo Copy DIR./FILE with RichCopy --------------------------------------------------
echo NOTICES (Problems to be revised):
echo - Very Long Paths over 247 up to 32767 char. not processed
echo - Last Write Time not copied for Volume Mount Points of DIR. (copied for FILE)
echo - Attr:P (SPARSE_FILE) not copied for FILE
echo - Attr:L (REPARSE_POINT) not copied for DIR./FILE
echo - Attr:E (ENCRYPTED) may not be copied for DIR./FILE (untested)
echo - Attr:V (VIRTUAL) may not be copied for DIR./FILE (untested)
echo - Hard Links themselves not copied for FILE
echo -- Volume Mount Points themselves not copied for DIR.
echo -- Junction Points themselves not copied for DIR.
echo -- Symbolic Links themselves not copied for DIR./FILE
echo - ACL (Access Control Lists) not copied for DIR./FILE
echo -- DACL (Discretionary ACL) not copied for DIR./FILE
echo -- Group SID (Security ID) not copied for DIR./FILE
echo -- Owner SID (Security ID) not copied for DIR./FILE
echo -- SACL (System ACL) not copied for DIR./FILE
echo - ADS (Alternate Data Streams) not copied for DIR./FILE
goto copy
:copy-fc2
echo Copy DIR./FILE with FastCopy --------------------------------------------------
echo (Very Long Paths over 260 up to 32767 char. will be processed)
echo NOTICES (Problems to be revised):
echo - Copying not processed in order of DIR. entries (from FAT32/FAT to FAT32/FAT)
echo - Attr:A (ARCHIVE) not copied, be set forcibly for FILE (copied for DIR.)
echo - Attr:N (NORMAL) not copied, be reset forcibly for FILE
echo - Attr:P (SPARSE_FILE) not copied for FILE
echo - Attr:C (COMPRESSED) not copied for DIR./FILE
echo - Attr:E (ENCRYPTED) may not be copied for DIR./FILE (untested)
echo - Attr:V (VIRTUAL) may not be copied for DIR./FILE (untested)
echo - ACL (Access Control Lists) may not be copied for DIR./FILE
echo -- SACL (System ACL) not copied for DIR./FILE
echo - ADS not copied for DIR. except Junction Points and FILE of big Sparse File
goto copy
:copy-ffc
echo Copy DIR./FILE with Fire File Copy --------------------------------------------
echo NOTICES (Problems to be revised):
echo - Very Long Paths over 247 up to 32767 char. not processed
echo - Copying not processed in order of DIR. entries (from FAT32/FAT to FAT32/FAT)
echo - Creation Time not copied for any Reparse Points of DIR. (copied for FILE)
echo - Last Write Time not copied for any Reparse Points of DIR. (copied for FILE)
echo - Attr:T (TEMPORARY) not copied for FILE
echo - Attr:P (SPARSE_FILE) not copied for FILE
echo - Attr:L (REPARSE_POINT) may not be copied for DIR./FILE
echo - Attr:C (COMPRESSED) not copied for DIR./FILE
echo - Attr:O (OFFLINE) not copied for DIR./FILE
echo - Attr:I (NOT_CONTENT_INDEXED) not copied for DIR./FILE
echo - Attr:E (ENCRYPTED) may not be copied for DIR./FILE (untested)
echo - Attr:V (VIRTUAL) may not be copied for DIR./FILE (untested)
echo - Hard Links themselves not copied for FILE
echo -- Symbolic Links themselves not copied for DIR.(GUI mode)/FILE
echo - ACL (Access Control Lists) not copied for DIR./FILE
echo -- DACL (Discretionary ACL) not copied for DIR./FILE
echo -- Group SID (Security ID) not copied for DIR./FILE
echo -- Owner SID (Security ID) not copied for DIR./FILE
echo -- SACL (System ACL) not copied for DIR./FILE
echo - ADS not copied for DIR. except Junction Points (copied for FILE)
goto copy
:copy-fv6
echo Copy DIR./FILE with FileVisor6 (manual operation) -----------------------------
echo NOTICES (Problems to be revised):
echo - Very Long Paths over 247 up to 32767 char. not processed
echo - Creation Time not copied for FILE (copied for DIR.)
echo - Attr:A (ARCHIVE) not copied, be set forcibly for FILE (copied for DIR.)
echo - Attr:N (NORMAL) not copied, be reset forcibly for FILE
echo - Attr:P (SPARSE_FILE) not copied for FILE
echo - Attr:L (REPARSE_POINT) not copied for DIR./FILE
echo - Attr:C (COMPRESSED) not copied for DIR./FILE
echo - Attr:O (OFFLINE) not copied for FILE (copied for DIR.)
echo - Attr:I (NOT_CONTENT_INDEXED) not copied for FILE (copied for DIR.)
echo - Attr:E (ENCRYPTED) may not be copied for DIR./FILE (untested)
echo - Attr:V (VIRTUAL) may not be copied for DIR./FILE (untested)
echo - Hard Links themselves not copied for FILE
echo -- Volume Mount Points themselves not copied for DIR.
echo -- Junction Points themselves not copied for DIR.
echo -- Symbolic Links themselves not copied for DIR./FILE
echo - ACL (Access Control Lists) not copied for DIR./FILE
echo -- DACL (Discretionary ACL) not copied for DIR./FILE
echo -- Group SID (Security ID) not copied for DIR./FILE
echo -- Owner SID (Security ID) not copied for DIR./FILE
echo -- SACL (System ACL) not copied for DIR./FILE
echo - ADS (Alternate Data Streams) not copied for DIR. (copied for FILE)
if exist "%_CP_DST%" echo DST: "%_CP_DST%"
if exist "%_CP_SRC%" echo SRC: "%_CP_SRC%"
if not .%_CP_SA1%==.-frc pause
echo Operating...
pushd .
%_CP_CWD:~,2%
pushd .
cd "%_CP_CWD%"
:BUG: FileVisor6 command line parser not recognize "/CONT" option (for Windows7)
:BUG: FileVisor6 command line parser not recognize "/FORCE folder" option
:BUG: FileVisor6 command line parser not recognize redirect
:BUG echo %_CP_CMD% /FORCE "%_CP_SRC%"
:BUG %_CP_CMD% /FORCE "%_CP_SRC%" > nul
echo %_CP_CMD% "%_CP_SRC%"
%_CP_CMD% "%_CP_SRC%"
popd
popd
echo Done: %~n0
goto exit
:copy-wfm
echo Copy DIR./FILE with WinFM2008 (manual operation) ------------------------------
echo NOTICES (Problems to be revised):
echo - Very Long Paths over 247 up to 32767 char. not processed
echo - Creation Time not copied for FILE with Attr:R (READONLY) (copied for DIR.)
echo - Attr:A (ARCHIVE) not copied, be set forcibly for FILE except Symbolic Links
echo - Attr:N (NORMAL) not copied, be reset forcibly for FILE except Symbolic Links
echo - Attr:P (SPARSE_FILE) not copied for FILE
echo - Attr:L (REPARSE_POINT) not copied for DIR./FILE
echo - Attr:C (COMPRESSED) not copied for DIR./FILE
echo - Attr:E (ENCRYPTED) may not be copied for DIR./FILE (untested)
echo - Attr:V (VIRTUAL) may not be copied for DIR./FILE (untested)
echo - Hard Links themselves not copied for FILE
echo -- Volume Mount Points themselves not copied for DIR.
echo -- Junction Points themselves not copied for DIR.
echo -- Symbolic Links themselves not copied for DIR./FILE
echo - ACL (Access Control Lists) not copied for DIR./FILE
echo -- DACL (Discretionary ACL) not copied for DIR./FILE
echo -- Group SID (Security ID) not copied for DIR./FILE
echo -- Owner SID (Security ID) not copied for DIR./FILE
echo -- SACL (System ACL) not copied for DIR./FILE
echo - ADS (Alternate Data Streams) not copied for DIR. (copied for FILE)
if exist "%_CP_DST%" echo DST: "%_CP_DST%"
if exist "%_CP_SRC%" echo SRC: "%_CP_SRC%"
if not .%_CP_SA1%==.-frc pause
echo Operating...
echo %_CP_CMD% "%_CP_SRC%"
%_CP_CMD% "%_CP_SRC%" > nul
echo Done: %~n0
goto exit
:copy-far
echo Copy DIR./FILE with Far Manager (manual operation) ----------------------------
echo (Very Long Paths over 260 up to 32767 char. will be processed)
echo NOTICES (Problems to be revised):
echo - Creation Time not copied for DIR./FILE
echo - Last Write Time not copied for DIR. and Symbolic Links of FILE
echo - Attr:A (ARCHIVE) not copied, be set forcibly for FILE (copied for DIR.)
echo - Attr:N (NORMAL) not copied, be reset forcibly for FILE
echo - Attr:P (SPARSE_FILE) not copied for FILE
echo - Attr:L (REPARSE_POINT) may not be copied for DIR./FILE
echo - Attr:C (COMPRESSED) not copied for FILE (copied for DIR.)
echo - Attr:O (OFFLINE) not copied for FILE (copied for DIR.)
echo - Attr:I (NOT_CONTENT_INDEXED) not copied for FILE (copied for DIR.)
echo - Attr:E (ENCRYPTED) may not be copied for DIR./FILE (untested)
echo - Attr:V (VIRTUAL) may not be copied for DIR./FILE (untested)
echo - Hard Links themselves not copied for FILE
echo -- Volume Mount Points themselves not copied for DIR. (and DIR. recurs)
echo -- Symbolic Links themselves with Attr:R (READONLY) not copied for FILE
echo - ACL (Access Control Lists) not copied for DIR./FILE
echo -- DACL (Discretionary ACL) not copied for DIR./FILE
echo -- Group SID (Security ID) not copied for DIR./FILE
echo -- Owner SID (Security ID) not copied for DIR./FILE
echo -- SACL (System ACL) not copied for DIR./FILE
echo - ADS not copied for Symbolic Links of FILE with Attr:R (READONLY)
if exist "%_CP_DST%" echo DST: "%_CP_DST%"
if exist "%_CP_SRC%" echo SRC: "%_CP_SRC%"
if not .%_CP_SA1%==.-frc pause
echo Operating...
echo echo N^|start /MAX /WAIT cmd /C "chcp 437 & %_CP_CMD% "%_CP_DST%" "%_CP_SRC%""
echo N |start /MAX /WAIT cmd /C "chcp 437 & %_CP_CMD% "%_CP_DST%" "%_CP_SRC%"" > nul
echo Done: %~n0
goto exit
:copy
: set _CP_OMD=%_CP_OCP%
goto common
:---
:resA-rob
echo Reset Attr. for DIR./FILE with Robocopy ---------------------------------------
echo (Very Long Paths over 260 up to 32767 char. will be processed)
echo NOTICES (Problems to be revised):
echo - Copying not processed in order of DIR. entries (from FAT32/FAT to FAT32/FAT)
echo - Creation Time not copied for Volume Mount Points and Symbolic Links of DIR.
echo - Last Write Time not copied for Volume Mount Points of DIR. (copied for FILE)
echo - Attr:P (SPARSE_FILE) may not be copied for small FILE
echo - Attr:L (REPARSE_POINT) may not be copied for DIR./FILE
echo - Attr:C (COMPRESSED) not copied for DIR./FILE
echo - Attr:E (ENCRYPTED) may not be copied for DIR./FILE (untested)
echo - Attr:V (VIRTUAL) may not be copied for DIR./FILE (untested)
echo - Hard Links themselves not copied for FILE
echo -- Volume Mount Points themselves not copied for DIR.
echo -- Junction Points themselves not copied for DIR.
echo -- Symbolic Links themselves not copied for FILE (copied for DIR.)
echo - ACL (Access Control Lists) may not be copied for DIR./FILE
echo -- DACL (Discretionary ACL) not copied for DIR./FILE
echo -- SACL (System ACL) not copied for DIR./FILE (icacls: "S:AINO_ACCESS_CONTROL")
echo - ADS not copied for Junction Points of DIR. (copied for FILE)
echo.
echo - Attr. setting/resetting functions not supported for Attr:T/P/O etc.
:: Attr:N means NOT_CONTENT_INDEXED (not NORMAL) for Robocopy
set _CP_ATT= /A-:RASHCNET
goto resA
:resA-ric
echo Reset Attr. for DIR./FILE with RichCopy ---------------------------------------
echo NOTICES (Problems to be revised):
echo - Very Long Paths over 247 up to 32767 char. not processed
echo - Last Write Time not copied for Volume Mount Points of DIR. (copied for FILE)
echo - Attr:P (SPARSE_FILE) not copied for FILE
echo - Attr:L (REPARSE_POINT) not copied for DIR./FILE
echo - Attr:E (ENCRYPTED) may not be copied for DIR./FILE (untested)
echo - Attr:V (VIRTUAL) may not be copied for DIR./FILE (untested)
echo - Hard Links themselves not copied for FILE
echo -- Volume Mount Points themselves not copied for DIR.
echo -- Junction Points themselves not copied for DIR.
echo -- Symbolic Links themselves not copied for DIR./FILE
echo - ACL (Access Control Lists) not copied for DIR./FILE
echo -- DACL (Discretionary ACL) not copied for DIR./FILE
echo -- Group SID (Security ID) not copied for DIR./FILE
echo -- Owner SID (Security ID) not copied for DIR./FILE
echo -- SACL (System ACL) not copied for DIR./FILE
echo - ADS (Alternate Data Streams) not copied for DIR./FILE
echo.
echo - Attr:A (ARCHIVE) may not be reset for FILE (reset for DIR.)
echo - Attr:H (HIDDEN) not reset with Attr:A (ARCHIVE) for FILE (reset for DIR.)
echo - Attr:S (SYSTEM) not reset with Attr:A (ARCHIVE) for FILE (reset for DIR.)
set _CP_ATT= -R -H -S -A -C -I -T -O -E
goto resA
:resA-fc2
echo Reset Attr. for DIR./FILE with FastCopy ---------------------------------------
echo NOTICES (Problems to be revised):
echo - Attr. setting/resetting functions not supported
set _CP_ATT=
: goto resA
goto abort
:resA-ffc
echo Reset Attr. for DIR./FILE with Fire File Copy ---------------------------------
echo NOTICES (Problems to be revised):
echo - Attr. setting/resetting functions not supported
set _CP_ATT=
: goto resA
goto abort
:resA-fv6
echo Reset Attr. for DIR./FILE with FileVisor6 (manual operation) ------------------
echo NOTICES (Problems to be revised):
echo - Attr. setting/resetting functions not supported except Attr:R/H/S/A
set _CP_ATT=
: goto resA
goto abort
:resA-wfm
echo Reset Attr. for DIR./FILE with WinFM2008 (manual operation) -------------------
echo NOTICES (Problems to be revised):
echo - Attr. setting/resetting functions not supported except Attr:R/H/S/A/C/E
set _CP_ATT=
: goto resA
goto abort
:resA-far
echo Reset Attr. for DIR./FILE with Far Manager (manual operation) -----------------
: echo NOTICES (Problems to be revised):
set _CP_ATT=
: goto resA
goto abort
:resA
goto common
:---
:setA4D-rob
:: Attr:T (TEMPORARY) and Attr:P (SPARSE_FILE) to be masked for DIR.
:BUG: Attr. not set with Attr:T (TEMPORARY) for DIR. (set for FILE)
:BUG echo Set Attr. for DIR. with Robocopy (without Attr:E) -----------------------------
echo Set Attr. for DIR. with Robocopy (without Attr:ET) ----------------------------
echo (Very Long Paths over 260 up to 32767 char. will be processed)
echo NOTICES (Problems to be revised):
echo - Copying not processed in order of DIR. entries (from FAT32/FAT to FAT32/FAT)
echo - Creation Time not copied for Volume Mount Points and Symbolic Links of DIR.
echo - Last Write Time not copied for Volume Mount Points of DIR. (copied for FILE)
echo - Attr:P (SPARSE_FILE) may not be copied for small FILE
echo - Attr:L (REPARSE_POINT) may not be copied for DIR./FILE
echo - Attr:C (COMPRESSED) not copied for DIR./FILE
echo - Attr:E (ENCRYPTED) may not be copied for DIR./FILE (untested)
echo - Attr:V (VIRTUAL) may not be copied for DIR./FILE (untested)
echo - Hard Links themselves not copied for FILE
echo -- Volume Mount Points themselves not copied for DIR.
echo -- Junction Points themselves not copied for DIR.
echo -- Symbolic Links themselves not copied for FILE (copied for DIR.)
echo - ACL (Access Control Lists) may not be copied for DIR./FILE
echo -- DACL (Discretionary ACL) not copied for DIR./FILE
echo -- SACL (System ACL) not copied for DIR./FILE (icacls: "S:AINO_ACCESS_CONTROL")
echo - ADS not copied for Junction Points of DIR. (copied for FILE)
echo.
echo - Attr. setting/resetting functions not supported for Attr:T/P/O etc.
:: Attr:N means NOT_CONTENT_INDEXED (not NORMAL) for Robocopy
:BUG: Attr. not set with Attr:T (TEMPORARY) for DIR. (set for FILE)
:BUG set _CP_ATT= /A+:RASHCNT
set _CP_ATT= /A+:RASHCN
goto setA4D
:setA4D-ric
:: Attr:T (TEMPORARY) and Attr:P (SPARSE_FILE) to be masked for DIR.
:BUG: Attr. not set with Attr:T (TEMPORARY) for DIR. (set for FILE)
:BUG echo Set Attr. for DIR. with RichCopy (without Attr:E) -----------------------------
echo Set Attr. for DIR. with RichCopy (without Attr:TE) ----------------------------
echo NOTICES (Problems to be revised):
echo - Very Long Paths over 247 up to 32767 char. not processed
echo - Last Write Time not copied for Volume Mount Points of DIR. (copied for FILE)
echo - Attr:P (SPARSE_FILE) not copied for FILE
echo - Attr:L (REPARSE_POINT) not copied for DIR./FILE
echo - Attr:E (ENCRYPTED) may not be copied for DIR./FILE (untested)
echo - Attr:V (VIRTUAL) may not be copied for DIR./FILE (untested)
echo - Hard Links themselves not copied for FILE
echo -- Volume Mount Points themselves not copied for DIR.
echo -- Junction Points themselves not copied for DIR.
echo -- Symbolic Links themselves not copied for DIR./FILE
echo - ACL (Access Control Lists) not copied for DIR./FILE
echo -- DACL (Discretionary ACL) not copied for DIR./FILE
echo -- Group SID (Security ID) not copied for DIR./FILE
echo -- Owner SID (Security ID) not copied for DIR./FILE
echo -- SACL (System ACL) not copied for DIR./FILE
echo - ADS (Alternate Data Streams) not copied for DIR./FILE
:BUG: Attr. not set with Attr:T (TEMPORARY) for DIR. (set for FILE)
:BUG set _CP_ATT= +R +H +S +A +C +I +T +O
set _CP_ATT= +R +H +S +A +C +I +O
goto setA4D
:setA4D-fc2
:: Attr:T (TEMPORARY) and Attr:P (SPARSE_FILE) to be masked for DIR.
echo Set Attr. for DIR. with FastCopy (without Attr:E) -----------------------------
echo NOTICES (Problems to be revised):
echo - Attr. setting/resetting functions not supported
set _CP_ATT=
: goto setA4D
goto abort
:setA4D-ffc
:: Attr:T (TEMPORARY) and Attr:P (SPARSE_FILE) to be masked for DIR.
echo Set Attr. for DIR. with Fire File Copy (without Attr:E) -----------------------
echo NOTICES (Problems to be revised):
echo - Attr. setting/resetting functions not supported
set _CP_ATT=
: goto setA4D
goto abort
:setA4D-fv6
:: Attr:T (TEMPORARY) and Attr:P (SPARSE_FILE) to be masked for DIR.
echo Set Attr. for DIR. with FileVisor6 (manual operation) -------------------------
echo NOTICES (Problems to be revised):
echo - Attr. setting/resetting functions not supported except Attr:R/H/S/A
set _CP_ATT=
: goto setA4D
goto abort
:setA4D-wfm
:: Attr:T (TEMPORARY) and Attr:P (SPARSE_FILE) to be masked for DIR.
echo Set Attr. for DIR. with WinFM2008 (manual operation) --------------------------
echo NOTICES (Problems to be revised):
echo - Attr. setting/resetting functions not supported except Attr:R/H/S/A/C/E
set _CP_ATT=
: goto setA4D
goto abort
:setA4D-far
echo Set Attr. for DIR. with Far Manager (manual operation) ------------------------
: echo NOTICES (Problems to be revised):
set _CP_ATT=
: goto setA4D
goto abort
:setA4D
goto common
:---
:setA4F-rob
:BUG: Attr:C (COMPRESSED) not set with Attr:R (READONLY) for FILE (set for DIR.)
:BUG echo Set Attr. for FILE with Robocopy (without Attr:E) -----------------------------
echo Set Attr. for FILE with Robocopy (without Attr:RE) ----------------------------
echo (Very Long Paths over 260 up to 32767 char. will be processed)
echo NOTICES (Problems to be revised):
echo - Copying not processed in order of DIR. entries (from FAT32/FAT to FAT32/FAT)
echo - Creation Time not copied for Volume Mount Points and Symbolic Links of DIR.
echo - Last Write Time not copied for Volume Mount Points of DIR. (copied for FILE)
echo - Attr:P (SPARSE_FILE) may not be copied for small FILE
echo - Attr:L (REPARSE_POINT) may not be copied for DIR./FILE
echo - Attr:C (COMPRESSED) not copied for DIR./FILE
echo - Attr:E (ENCRYPTED) may not be copied for DIR./FILE (untested)
echo - Attr:V (VIRTUAL) may not be copied for DIR./FILE (untested)
echo - Hard Links themselves not copied for FILE
echo -- Volume Mount Points themselves not copied for DIR.
echo -- Junction Points themselves not copied for DIR.
echo -- Symbolic Links themselves not copied for FILE (copied for DIR.)
echo - ACL (Access Control Lists) may not be copied for DIR./FILE
echo -- DACL (Discretionary ACL) not copied for DIR./FILE
echo -- SACL (System ACL) not copied for DIR./FILE (icacls: "S:AINO_ACCESS_CONTROL")
echo - ADS not copied for Junction Points of DIR. (copied for FILE)
echo.
echo - Attr. setting/resetting functions not supported for Attr:T/P/O etc.
:: Attr:N means NOT_CONTENT_INDEXED (not NORMAL) for Robocopy
:BUG: Attr:C (COMPRESSED) not set with Attr:R (READONLY) for FILE (set for DIR.)
:BUG set _CP_ATT= /A+:RASHCNT
set _CP_ATT= /A-:R /A+:ASHCNT
goto setA4F
:setA4F-ric
echo Set Attr. for FILE with RichCopy (without Attr:E) -----------------------------
echo NOTICES (Problems to be revised):
echo - Very Long Paths over 247 up to 32767 char. not processed
echo - Last Write Time not copied for Volume Mount Points of DIR. (copied for FILE)
echo - Attr:P (SPARSE_FILE) not copied for FILE
echo - Attr:L (REPARSE_POINT) not copied for DIR./FILE
echo - Attr:E (ENCRYPTED) may not be copied for DIR./FILE (untested)
echo - Attr:V (VIRTUAL) may not be copied for DIR./FILE (untested)
echo - Hard Links themselves not copied for FILE
echo -- Volume Mount Points themselves not copied for DIR.
echo -- Junction Points themselves not copied for DIR.
echo -- Symbolic Links themselves not copied for DIR./FILE
echo - ACL (Access Control Lists) not copied for DIR./FILE
echo -- DACL (Discretionary ACL) not copied for DIR./FILE
echo -- Group SID (Security ID) not copied for DIR./FILE
echo -- Owner SID (Security ID) not copied for DIR./FILE
echo -- SACL (System ACL) not copied for DIR./FILE
echo - ADS (Alternate Data Streams) not copied for DIR./FILE
set _CP_ATT= +R +H +S +A +C +I +T +O
goto setA4F
:setA4F-fc2
echo Set Attr. for FILE with FastCopy (without Attr:E) -----------------------------
echo NOTICES (Problems to be revised):
echo - Attr. setting/resetting functions not supported
set _CP_ATT=
: goto setA4F
goto abort
:setA4F-ffc
echo Set Attr. for FILE with Fire File Copy (without Attr:E) -----------------------
echo NOTICES (Problems to be revised):
echo - Attr. setting/resetting functions not supported
set _CP_ATT=
: goto setA4F
goto abort
:setA4F-fv6
echo Set Attr. for FILE with FileVisor6 (manual operation) -------------------------
echo NOTICES (Problems to be revised):
echo - Attr. setting/resetting functions not supported except Attr:R/H/S/A
set _CP_ATT=
: goto setA4F
goto abort
:setA4F-wfm
echo Set Attr. for FILE with WinFM2008 (manual operation) --------------------------
echo NOTICES (Problems to be revised):
echo - Attr. setting/resetting functions not supported except Attr:R/H/S/A/C/E
set _CP_ATT=
: goto setA4F
goto abort
:setA4F-far
echo Set Attr. for FILE with Far Manager (manual operation) ------------------------
: echo NOTICES (Problems to be revised):
set _CP_ATT=
: goto setA4F
goto abort
:setA4F
goto common
:---
:common
if exist "%_CP_DST%" echo DST: "%_CP_DST%"
if exist "%_CP_SRC%" echo SRC: "%_CP_SRC%"
if not .%_CP_SA1%==.-frc pause
echo Operating...
if .%2==.-p (
if exist "%~dpn0.$1$" (
echo Aborted: "%~dpn0.$1$" is already exist.
goto exit
)
md "%~dpn0.$1$"
if errorlevel 1 goto abort
set _CP_SRC=%~dpn0.$1$
)
if .%1==.-ffc (
if exist "%SystemDrive%\%~n0.$0$" (
echo Aborted: "%SystemDrive%\%~n0.$0$" is already exist.
goto exit
)
md "%SystemDrive%\%~n0.$0$"
if errorlevel 1 goto abort
set _CP_TFN=%_CP_SRC%
:sol
for /F "usebackq tokens=1* delims=\" %%i in (`set _CP_TFN`) do (
if "%%j"=="" ( goto eol ) else set _CP_TFN=%%j
)
goto sol
:eol
mklink /D "%SystemDrive%\%~n0.$0$\%_CP_TFN%" "%_CP_DST%"
if errorlevel 1 goto abort
set _CP_DST=%SystemDrive%\%~n0.$0$
)
set _CP_DST="%_CP_DST%"
set _CP_SRC="%_CP_SRC%"
: if exist %_CP_DST% echo DST: %_CP_DST%
: if exist %_CP_SRC% echo SRC: %_CP_SRC%
if exist "%~dp0x%1%2.log" del "%~dp0x%1%2.log"
if exist "%~dp0x%1%2.log" goto abort
if .%1==.-fc2 (
echo %_CP_CMD%%_CP_PRE%%_CP_ARG%%_CP_ATT%%_CP_OMD%%_CP_DEF% %_CP_SRC% %_CP_TRG%%_CP_DST%
%_CP_CMD%%_CP_PRE%%_CP_ARG%%_CP_ATT%%_CP_OMD%%_CP_DEF% %_CP_SRC% %_CP_TRG%%_CP_DST% > nul
) else (
echo %_CP_CMD%%_CP_PRE% %_CP_SRC% %_CP_TRG%%_CP_DST%%_CP_ARG%%_CP_ATT%%_CP_OMD%%_CP_DEF%
%_CP_CMD%%_CP_PRE% %_CP_SRC% %_CP_TRG%%_CP_DST%%_CP_ARG%%_CP_ATT%%_CP_OMD%%_CP_DEF% > nul
)
echo ERRORLEVEL: %errorlevel%
: if errorlevel 1 goto abort
if exist "%SystemDrive%\%~n0.$0$\%_CP_TFN%\" rd "%SystemDrive%\%~n0.$0$\%_CP_TFN%"
if exist "%SystemDrive%\%~n0.$0$\%_CP_TFN%\" goto abort
if exist "%SystemDrive%\%~n0.$0$\" rd "%SystemDrive%\%~n0.$0$"
if exist "%SystemDrive%\%~n0.$0$\" goto abort
if exist "%~dpn0.$1$\" rd "%~dpn0.$1$"
if exist "%~dpn0.$1$\" goto abort
if not .%_CP_SA1%==.-frc (
if exist "%~f3" (
echo Check entries in "%~f3"
start "" "%~f3"
)
if exist "%~dp0x%1%2.log" (
echo Check "%~dp0x%1%2.log"
start "" "%~dp0x%1%2.log"
)
)
echo Done: %~n0
goto exit
:abort
echo.
echo Aborted: %~n0
:exit
set _CP_DST=
set _CP_TFN=
set _CP_CMD=
set _CP_CWD=
set _CP_TRG=
set _CP_PRE=
set _CP_OPR=
set _CP_OMR=
set _CP_OCP=
set _CP_DEF=
set _CP_OMD=
set _CP_ATT=
set _CP_SRC=
set _CP_ARG=
if not .%_CP_SA1%==.-frc pause
set _CP_SA1=
:end
/* Copyright: Public Domain (free contents) for the inside of this border. */
/* Everyone can copy, revise and distribute/publish the contents in the inside of this border. */