两个服务器都具有完全相同的文件夹结构,但是当我运行脚本从ServerA复制到服务器B时,在ServerB上而不是将文件放在同一个文件夹中,它放在根目录中。有一个父文件夹,在这个父文件夹中有3个不同的文件夹。如果该文件位于ServerA> Folder1> Client中,那么在运行脚本时,它必须在ServerB> Folder1> Client中。而不是在根目录或任何其他文件夹中。
这是剧本;
@echo off
SetLocal
:: prepare date/time stamp
for /f "Tokens=1-4 Delims=/ " %%i in ('date /t') do set dt=%%i-%%j-%%k-%%l
for /f "Tokens=1" %%i in ('time /t') do set tm=-%%i
:: timestamp (yyyymmmdd-hhnnss)
set tm=%tm::=-%
set dtt=%dt%%tm%
:: directories
Set "sourcefolder=E:\IC_Batch\iCompareTest\10x"
Set "destinationfolder=\\mmdkfvdev08\E$\IC_Batch\10x\"
:: copy files
For /f "delims=" %%a in (
'Dir /a-D /b /s "%sourcefolder%\*.*" 2^>nul'
) do If exist "%%a" (
xcopy /s /c /d /i /y "%%a" "%destinationfolder%\%dtt%-%%~na.*"
)
EndLocal