I have a storage folder on a network in which all users will store their active data on a server. Now that server is going to be replaced by a new one due to place problem s
if you want to copy file not using absolute path, relative path in other words:
don't forget to write backslash in the path AND NOT slash
example :
copy children-folder\file.something .\other-children-folder
PS: absolute path can be retrieved using these wildcards called "batch parameters"
@echo off
echo %%~dp0 is "%~dp0"
echo %%0 is "%0"
echo %%~dpnx0 is "%~dpnx0"
echo %%~f1 is "%~f1"
echo %%~dp0%%~1 is "%~dp0%~1"
check documentation here about copy : https://technet.microsoft.com/en-us/library/bb490886.aspx
and also here for batch parameters documentation: https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/percent.mspx?mfr=true
xcopy.exe is definitely your friend here. It's built into Windows, so its cost is nothing.
Just xcopy /s c:\source d:\target
You'd probably want to tweak a few things; some of the options we also add include these:
/s/e
- recursive copy, including copying empty directories./v
- add this to verify the copy against the original. slower, but for the paranoid./h
- copy system and hidden files./k
- copy read-only attributes along with files. otherwise, all files become read-write./x
- if you care about permissions, you might want /o
or /x
./y
- don't prompt before overwriting existing files./z
- if you think the copy might fail and you want to restart it, use this. It places a marker on each file as it copies, so you can rerun the xcopy command to pick up from where it left off.If you think the xcopy might fail partway through (like when you are copying over a flaky network connection), or that you have to stop it and want to continue it later, you can use xcopy /s/z c:\source d:\target
.
Hope this helps.
You may want to take a look at XCopy or RoboCopy which are pretty comprehensive solutions for nearly all file copy operations on Windows.