用于复制和添加日期/时间戳的脚本,并确保将它们复制到正确的文件夹中

时间:2017-09-07 06:35:02

标签: batch-file

两个服务器都具有完全相同的文件夹结构,但是当我运行脚本从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

0 个答案:

没有答案